Domanda

Come si fa a farlo?Ho visto un video tutorial su di esso, ma lo schermo era troppo piccolo.Inoltre, altri di modificare le dimensioni di visualizzazione, ci sono altre importanti modifiche devo fare per il mio iphone app per la conversione per iPad?

È stato utile?

Soluzione

Si supponga che hai l'SDK con Xcode 3 ,

  1. Apri IB.
  2. Aprire il XIB.
  3. File -.> Crea versione iPad utilizzando maschere ridimensionamento automatico

Altri suggerimenti

Sono stato in grado di restringere il campo a un paio di cose, così qui sono i passi che ha funzionato per me:

1) Fare una copia di iPhone xib file e aggiungerlo al progetto

2) fare clic Destro sul file (in xcode) e Aprire > il Codice Sorgente

3) La linea 2 dovrebbe assomigliare a questo:

<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">

Sostituire con:

<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10">

4) Ricerca per "IBCocoaTouchFramework" e Sostituire tutte le occorrenze con "IBIPadFramework"

5) Salvare il file e Aprire Come > Interface Builder - iOS

Il file potrebbe essere ancora l'aspetto di un normale iPhone xib, ma per me, una volta ho cambiato la Barra di Stato per il "Nero", in la ispeziono il resto del xib solo una sorta di "bloccato" in un iPad xib

In Xcode 5 si dovrebbe solo:

Ricerca:

<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4510" systemVersion="12F37" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">

Sostituire con:

<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="4510" systemVersion="12F37" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none">

Si noti che stiamo semplicemente aggiungendo .ipad per le proprietà type e targetRuntime.

Dopo l'apertura è sufficiente selezionare un nuovo formato per regolare. Esempio:. IPad schermo intero

XCode4:

In Xcode 4 non possiamo farlo per un singolo XI ter, ma possiamo creare rispettive versioni iPad tutto in una volta.

Prima di configurare il progetto per ipad, quando è configurato solo per iPhone, fate clic destro sul bersaglio e cliccare sul duplicato.

Ora selezionare "duplicare e di transizione verso iPad" .Un nuovo obiettivo e nuova serie di xibs sono created.It dovrebbe ridurre un po 'di lavoro.

Speranza che aiuta.

Xcode 4 :

Crea versione iPad utilizzando maschere ridimensionamento automatico caratteristica è stato rimosso da Xcode 4. In questo momento il modo più semplice è quello di utilizzare Xcode 3 per la conversione, in quanto il formato di file nasello (.xib) non è cambiato.

Xcode 3 e 4 possono ora essere entrambi installati sullo stesso sistema semplicemente selezionando una cartella diversa (vedi istruzioni di montaggio l'immagine del disco su).

In caso contrario, sarà necessario copiare / incollare gli elementi dell'interfaccia utente della versione per iPhone, e li ri-creare un collegamento al codice.

Che dire lasciare che il computer fare il lavoro di computer?
Più veloce, meno rischi di errore.

Ecco un flusso di lavoro basato sul eccellente risposta da Jag , ma automatizzata con sed.

In primo luogo, di messa a punto lasciare alcune cose. Ci sarà solo bisogno di fare questo una volta.
Nella directory che contiene i XIBs, creare due file con il seguente contenuto:

iPhoneToiPadXIBConversion.sed file:

s/com.apple.InterfaceBuilder3.CocoaTouch.XIB/com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB/g
s/IBCocoaTouchFramework/IBIPadFramework/g

e il file iPadToiPhoneXIBConversion.sed:

s/com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB/com.apple.InterfaceBuilder3.CocoaTouch.XIB/g
s/IBIPadFramework/IBCocoaTouchFramework/g


Setup è ormai finito. Per convertire un XIB, inserire uno dei due seguenti comandi nel terminale:

iPhone alla conversione iPad:

sed -f iPhoneToiPadXIBConversion.sed  MyViewController~iphone.xib  > MyViewController.xib

iPad alla conversione iPhone:

sed -f iPadToiPhoneXIBConversion.sed  MyViewController.xib  > MyViewController~iphone.xib




Solo per il divertimento, creiamo due funzioni in zsh, per rendere la conversione ancora più semplice:

function convertiPadXIBToiPhone () {
    newXibName=`echo "$1" | /usr/bin/sed "s/.xib/~iphone.xib/"`
    `/usr/bin/sed -f iPadToiPhoneXIBConversion.sed "$1" > "$newXibName"`
    echo "Did convert $1 to $newXibName."
}

function convertiPhoneXIBToiPad () {
    newXibName=`echo "$1" | /usr/bin/sed "s/~iphone.xib/.xib/"`
    `/usr/bin/sed -f iPhoneToiPadXIBConversion.sed "$1" > "$newXibName"`
    echo "Did convert $1 to $newXibName."
}

Dopo aver aggiunto questo alla vostra configurazione zsh, la conversione di un XIB è un semplice esempio:

convertiPadXIBToiPhone MyViewController.xib

o

convertiPhoneXIBToiPad MyViewController.xib

Aprire il XIB in XCode 4 utilizzando "vista come codice sorgente."

Prima

Backup il pennino in questione.

Un

sostituire questo goo

    <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
    <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
        <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
        <integer value="1056" key="NS.object.0"/>
    </object>
    <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
        <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
        <integer value="3100" key="NS.object.0"/>
    </object>
    <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
    <int key="IBDocument.defaultPropertyAccessControl">3</int>
    <string key="IBCocoaTouchPluginVersion">301</string>

per quest'altra goo

    <string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
    <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
        <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
        <integer value="3100" key="NS.object.0"/>
    </object>
    <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
    <int key="IBDocument.defaultPropertyAccessControl">3</int>
    <string key="IBCocoaTouchPluginVersion">301</string>

Due

Quindi, per ogni visualizzazione nel pennino utilizzando la IB integrato, eliminarlo e poi ha colpito annullare.

Tre

Poi doccia in acqua calda per pulire quella sensazione disgustosa si potrebbe avere.

È possibile aprire il XIB come file testo e modificare la dimensione UIView:

Fare clic destro sul file XIB nel de navigatore e selezionare: "aperto ..." Apri come file di origine.

Trova il riferimento UIView e modificare i valori Telaio:

<object class="IBUIView" id="191373211">

<string key="NSFrame">{{0, 20}, {768, 1024}}</string>

In XCode 4.3.2, il modo più facile per me creare versione iPad del XI TER è duplicare il file XI ter e aggiungere il suffisso ~ipad al nome del file. E aggiungere sia "myVC.xib" e "myVC ~ ipad.xib" nel progetto. Si noti che è "~ ipad" NOT "~ iPad". La vostra applicazione utilizzerà automaticamente che ~ versione iPad quando viene eseguito su iPad. Questo funziona anche con i file di risorse (ad esempio immagini).

Il miglior riferimento che ho trovato in questo momento ... https://developer.apple.com/ biblioteca / ios / # documentazione / cacao / concettuale / LoadingResources / ImageSoundResources / ImageSoundResources.html

Xcode 5 update

  

targetRuntime = "iOS.CocoaTouch"

a

  

targetRuntime = "iOS.CocoaTouch.iPad"

Io documentare quello che ho fatto in Xcode 4.5:

  1. fixpattern.sh

    cp REPLACEME_Iphone.h REPLACEME_Ipad.h
    sed -e 's/REPLACEME_Iphone/REPLACEME_Ipad/g' REPLACEME_Ipad.h > REPLACEME_Ipad_tmp.h
    mv REPLACEME_Ipad_tmp.h REPLACEME_Ipad.h
    cp REPLACEME_Iphone.m REPLACEME_Ipad.m
    sed -e 's/REPLACEME_Iphone/REPLACEME_Ipad/g' REPLACEME_Ipad.m > REPLACEME_Ipad_tmp.m
    mv REPLACEME_Ipad_tmp.m REPLACEME_Ipad.m
    cp REPLACEME_Iphone.xib REPLACEME_Ipad.xib
    sed -e 's/com.apple.InterfaceBuilder3.CocoaTouch.XIB   /com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB/g' REPLACEME_Ipad.xib > REPLACEME_Ipad_tmp.xib
    mv REPLACEME_Ipad_tmp.xib REPLACEME_Ipad.xib
    sed -e 's/IBCocoaTouchFramework/IBIPadFramework/g' REPLACEME_Ipad.xib > REPLACEME_Ipad_tmp.xib
    mv REPLACEME_Ipad_tmp.xib REPLACEME_Ipad.xib
    sed -e 's/320, 416/768, 1004/g' REPLACEME_Ipad.xib > REPLACEME_Ipad_tmp.xib
    mv REPLACEME_Ipad_tmp.xib REPLACEME_Ipad.xib
    sed -e 's/REPLACEME_Iphone/REPLACEME_Ipad/g' REPLACEME_Ipad.xib > REPLACEME_Ipad_tmp.xib
    mv REPLACEME_Ipad_tmp.xib REPLACEME_Ipad.xib
    
  2. Creare un elenco di file che si desidera convertire in fixfile, ogni linea sarà un nome di file senza estensione. Se il nome del file originale è AAA_Iphone.h, appena messo AAA. Se il file originale non è di questo modello, è necessario rivedere lo script.

  3. Esegui in riga di comando

    cat fixfile | while read line ; do sed -e "s/REPLACEME/${line}/g" fixpattern.sh ; done > fixall.sh
    
  4. Commenta e fixall.sh run

  5. Aggiungi file appena creato nel progetto

La risposta di Jag è grande. Ma c'è un problema se un XIB si apre / creato in Xcode 5.

Per Xcode 5

1) Effettuare una copia del file iPhone XI ter e aggiungerlo al progetto

2) Fare clic destro sul file (in Xcode) e Open come> Codice Sorgente

3) La seconda linea dovrebbe essere simile:

<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4510"

cambiarlo in

<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="4510"

4) all'8 linea dovrebbe essere simile a questo:

<rect key="frame" x="0.0" y="0.0" width="320" height="480"/>

cambiarlo in

<rect key="frame" x="0.0" y="64" width="768" height="960"/>

Questo è tutto e ci avete iPad XIB. Ma ancora il vero merito va a Jag.

Oltre alla risposta data dal Jag cerca anche per "320.460" e sostituirlo con 768,1024 e la vostra XIB sarà ridimensionata a dimensioni iPad.

Per Xcode 4,

Non hai bisogno di creare un obiettivo per ogni dispositivo.Invece, è possibile modificare i Dispositivi di sintesi del progetto Universale che dovrebbe essere in iPhone già.Questo è risposto nel link l'Aggiornamento di iOS 5 App Universale su Xcode 4.2.Così, si farà di transizione per voi.

suona come la soluzione migliore è quella di sviluppare sempre di iPhone prima, poi una volta si è fatto completo, aggiungere il target ipad, lasciando che Xcode fare l'aggiornamento. Ho fatto lo stesso errore, selezionato universale per iniziare, che crea le prime file, ma poi ogni altra XI ter doveva essere ricreato mano nella cartella ipad. Dolore grande

Jag has given Great Answer.

In alcuni casi.

  

Non c'è bisogno di convertire il vostro Iphone Ipad XIB nel XIB. È possibile utilizzare Autoresizingmask   e far funzionare Ipad anche. solo bisogno di configurare l'APP per la corsa   in modalità universale con una corretta autoresizingmask.

Basta sostituire

<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14854.2" targetRuntime="iOS.CocoaTouch"

con

<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="14854.2" targetRuntime="iOS.CocoaTouch.iPad"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top