Question

Comment faites-vous? J'ai vu un tutoriel vidéo, mais l'écran était trop petite. En outre, autre que de changer la taille de la vue, sont-il d'autres changements majeurs que j'aurais à faire à mes applications iPhone pour convertir iPad?

Était-ce utile?

La solution

Supposons que vous avez le SDK avec Xcode 3 ,

  1. Ouvrir IB.
  2. Ouvrez le XIB.
  3. Fichier -.> Création d'une version iPad à l'aide de masques de Autoresizing

Autres conseils

J'ai pu réduire à quelques choses, alors voici les étapes qui ont travaillé pour moi:

1) Faites une copie du fichier iPhone et xib l'ajouter à votre projet

2) cliquez droit sur le fichier (dans Xcode) et Open As> code source

3) La 2ème ligne devrait ressembler à:

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

Remplacer par:

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

4) Chercher "IBCocoaTouchFramework" et remplacer toutes les occurrences avec "IBIPadFramework"

5) Enregistrez le fichier et Open As> Interface Builder - iOS

Le fichier peut encore ressembler à un xib régulier de l'iPhone, mais pour moi, une fois que je l'ai changé la barre d'état pour « Black » dans l'inspecteur Attributs du reste du xib juste sorte de « happé » dans un xib iPad

Dans Xcode 5, vous devez simplement:

Rechercher:

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

Remplacer par:

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

Notez que nous ne faisons qu'ajouter .iPad aux propriétés type et targetRuntime.

Après l'ouverture il suffit de sélectionner une nouvelle taille pour ajuster. Exemple:. IPad Plein écran

XCode4:

Dans Xcode 4, nous ne pouvons pas le faire pour un seul xib, mais nous pouvons créer des versions iPad respectives à la fois.

Avant de configurer votre projet pour iPad, lorsqu'il est configuré uniquement pour iPhone, faites un clic droit sur la cible et cliquez sur double.

Maintenant, sélectionnez « en double et la transition vers iPad » .Une nouvelle cible et nouvelle série de xibs sont created.It devrait réduire un peu de travail.

it helps.

Xcode 4 :

Créer iPad Version Utilisation des masques redimensionnement automatique fonctionnalité a été supprimée de Xcode 4. En ce moment, la meilleure façon est d'utiliser Xcode 3 pour la conversion, car le format de fichier nib (.xib) n'a pas changé.

Xcode 3 et 4 peuvent maintenant être tous deux installés sur le même système en sélectionnant simplement un autre dossier (voir les instructions d'installation sur l'image disque).

Sinon, vous devrez copier / coller les éléments de l'interface utilisateur de la version iPhone, et les re-créer un lien vers votre code.

Qu'en est-il de laisser l'ordinateur faire le travail de l'ordinateur?
Plus rapide, moins de risques d'erreurs.

Voici un flux de travail basé sur la excellente réponse de Jag, mais automatisée avec sed.

Tout d'abord, la configuration de laisser des choses. Nous ne devons faire cette fois.
Dans le répertoire contenant vos XIBs, créez deux fichiers avec le contenu suivant:

iPhoneToiPadXIBConversion.sed du fichier:

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

et le fichier iPadToiPhoneXIBConversion.sed:

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


La configuration est terminée. Pour convertir un XIB, entre l'une des deux commandes suivantes dans le terminal:

iPhone à la conversion iPad:

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

iPad à la conversion iPhone:

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




Juste pour le plaisir, nous allons créer deux fonctions dans zsh, pour effectuer la conversion encore plus simple:

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."
}

Après avoir ajouté à votre config zsh, la conversion d'un simple XIB au catalogue est que:

convertiPadXIBToiPhone MyViewController.xib

ou

convertiPhoneXIBToiPad MyViewController.xib

Ouvrez le XCode 4 à XIB en utilisant "vue comme code source."

Avant

Sauvegarder la pointe en question.

Un

Substitut cette 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>

pour cet autre 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>

Deux

Ensuite, pour chaque point de vue de la pointe à l'aide du Bureau international intégré, supprimer et puis appuyez sur annuler.

Trois

Ensuite, douche à l'eau chaude pour essuyer ce sentiment répugnant que vous pourriez avoir.

Vous pouvez ouvrir le fichier texte et comme XIB changer la taille de UIView:

Faites un clic droit sur votre fichier dans de navigateur XIB et sélectionnez: « ouvert sous ... » Ouvrir comme fichier source.

Trouvez la référence UIView et modifiez les valeurs du cadre:

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

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

Dans XCode 4.3.2, la meilleure façon pour moi de créer la version iPad de la xérophtalmie est de dupliquer ce fichier et ajouter le suffixe xib de ~ipad au nom du fichier. Et ajouter à la fois « myVC.xib » et « myVC ~ ipad.xib » dans votre projet. Notez qu'il est "~ ipad" NOT "~ iPad". Votre application utilisera cette ~ version iPad automatiquement lorsqu'il est exécuté sur iPad. Cela fonctionne également avec les fichiers de ressources (par exemple des images).

La meilleure référence que je pouvais trouver en ce moment ... https://developer.apple.com/ bibliothèque / ios / # documentation / cacao / conceptuel / LoadingResources / ImageSoundResources / ImageSoundResources.html

Xcode 5 update

  

targetRuntime = "iOS.CocoaTouch"

à

  

targetRuntime = "iOS.CocoaTouch.iPad"

Je documenter ce que je faisais dans 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. Créer une liste de fichier que vous voulez convertir en fixfile, chaque ligne sera un nom de fichier sans extension. Si vous le nom du fichier d'origine est AAA_Iphone.h, il suffit de mettre AAA. Si votre fichier d'origine est pas de ce modèle, vous devez réviser le script.

  3. Exécuter dans la ligne de commande

    cat fixfile | while read line ; do sed -e "s/REPLACEME/${line}/g" fixpattern.sh ; done > fixall.sh
    
  4. Examen et exécutez fixall.sh

  5. Ajouter un fichier nouvellement créé dans le projet

La réponse de Jag est grande. Mais il y a un hic si un est ouvert XIB / dans Xcode 5.

Pour Xcode 5

1) Faites une copie du fichier iPhone et xib l'ajouter à votre projet

2) cliquez droit sur le fichier (dans Xcode) et Open As> code source

3) La 2ème ligne devrait ressembler à:

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

changer à

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

4) la ligne 8 devrait ressembler à ceci:

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

changer à

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

C'est et là vous avez iPad XIB. Mais encore le crédit réel va Jag.

En plus de réponse donnée par Jag recherche pour « 320460 » et le remplacer par 768,1024 et votre sera redimensionnée XIB aux dimensions iPad.

Pour Xcode 4,

Vous devez pas créer cible pour chaque appareil. Au lieu de cela, vous pouvez modifier les périphériques dans le résumé du projet Universal qui serait dans l'iPhone déjà. Cette réponse dans le lien Mise à jour iOS 5 App universelle sur Xcode 4.2. Ainsi, il fera la transition pour vous.

Sons comme la meilleure solution est de développer toujours comme iPhone, puis une fois que vous avez terminé fait, ajoutez la cible d'ipad, laissant Xcode faire la mise à jour. J'ai fait la même erreur, choisi universel pour commencer, ce qui crée les premiers fichiers, mais tous les autres xib devaient être recréés main dans le dossier ipad. Big PAIN

Jag has given Great Answer.

Dans certains cas.

  

Pas besoin de convertir votre iPhone en iPad XIB XIB au catalogue. Vous pouvez utiliser Autoresizingmask   et obtenir Courir Ipad aussi. juste besoin de configurer votre APP pour l'exécution   en mode universel avec autoresizingmask approprié.

Il suffit de remplacer

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

avec

<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="14854.2" targetRuntime="iOS.CocoaTouch.iPad"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top