Frage

Wie tun Sie es? Ich sah ein Video-Tutorial auf, aber der Bildschirm zu klein war. Auch andere als die Anzeigegröße zu ändern, gibt es andere große Veränderungen muss ich auf meinem iPhone Apps zu konvertieren zu iPad machen würde?

War es hilfreich?

Lösung

Angenommen, Sie das SDK haben mit Xcode 3

  1. Öffnen IB.
  2. Öffnen Sie die XIB.
  3. Datei -.> Erstellen iPad-Version der automatischen Größen Masken mit

Andere Tipps

Ich konnte es verengen, um ein paar Dinge nach unten, so sind hier die Schritte, die für mich gearbeitet:

Machen Sie

1) eine Kopie der iPhone xib Datei und fügen Sie es zu einem Projekt

2) Recht auf die Datei (in Xcode) und Öffnen als> Source Code

3) Die zweite Zeile soll wie folgt aussehen:

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

Ersetzen mit:

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

4) für "IBCocoaTouchFramework" und Ersetzen Sie alle Vorkommen mit "IBIPadFramework"

5) Speichern Sie die Datei und Öffnen als> Interface Builder - iOS

Die Datei aussehen könnte noch wie ein normales iPhone xib, aber für mich, wenn ich den Status geändert Bar zu „Black“ in dem Attribute-Inspektoren den Rest der xib nur irgendwie „aufgeschnappt“ in ein iPad xib

In Xcode 5 sollten Sie nur:

finden:

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

ersetzen durch:

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

Beachten Sie fügen wir nur .iPad zu den type und targetRuntime Eigenschaften.

Nach dem Öffnen wählen Sie einfach eine neue Größe anzupassen. Beispiel:. IPad Vollbild

XCode4:

In Xcode 4 können wir das nicht für einen einzelnen xib, aber wir können entsprechende ipad Versionen erstellen, die alle auf einmal.

Vor einem Projekt ipad Konfiguration, wenn es nur für iphone konfiguriert ist, die rechte Maustaste auf Ziel und klicken Sie auf Duplikat.

Wählen Sie nun „duplizieren und Übergang zu ipad“ .Ein neues Ziel und neuen Satz von xibs ist created.It soll einige Arbeit reduzieren.

Hope es hilft.

Xcode 4 :

Die erstellen iPad Version Mit Autosizing Masken Funktion wurde von Xcode 4 entfernt. Gerade jetzt ist der einfachste Weg Xcode 3 für die Umwandlung zu verwenden, da die Spitze (.xib) Dateiformat nicht geändert werden.

Xcode 3 und 4 kann nun sowohl einfach auf demselben System installiert werden, um einen anderen Ordner auszuwählen (Installationsanweisungen auf dem Disk-Image sehen).

Ansonsten müssen Sie die UI-Elemente aus der iPhone-Version kopieren / einfügen und neu verknüpfen sie zu Ihrem Code.

Was lassen Sie den Computer Aufgabe, tun Computer?
Schneller, weniger Risiko von Fehlern.

Hier ist ein Workflow basierte auf der ausgezeichnete Antwort von Jag , sondern automatisiert mit sed.

Lassen Sie uns zunächst Setup ein paar Sachen. Wir werden dies nur einmal tun müssen, um.
In dem Verzeichnis, das Ihre XIBs enthält, erstellen Sie zwei Dateien mit dem folgenden Inhalt:

Datei iPhoneToiPadXIBConversion.sed:

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

und Datei iPadToiPhoneXIBConversion.sed:

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


Setup ist nun abgeschlossen. Um eine XIB zu konvertieren, geben Sie eine der beiden folgenden Befehle im Terminal:

iPhone zu iPad Umwandlung:

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

iPad iPhone Umwandlung:

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





Nur für den Spaß, lassen Sie sich zwei Funktion in zsh schaffen, die Umwandlung noch einfacher zu machen:

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

Nachdem diese zu Ihrem zsh Config hinzugefügt zu haben, ein XIB Umwandlung ist ein einfaches Beispiel:

convertiPadXIBToiPhone MyViewController.xib

oder

convertiPhoneXIBToiPad MyViewController.xib

Öffnen Sie die XIB in XCode 4 mit „Ansicht als Quellcode.“

Vor

Sichern der Spitze in Frage.

Ein

Ersetzen Sie diese Schmiere

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

Für diese Schmiere

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

Zwei

Dann wird für jede Ansicht in der Spitze des integrierten IB verwenden, löschen Sie es und drücken Sie dann rückgängig zu machen.

Drei

Dusche dann in heißem Wasser abzuwischen, dass ekelhaft Gefühl Sie haben könnten.

Sie können die XIB als Textdatei öffnen und die UIView Größe ändern:

Rechtsklick auf Ihrer XIB-Datei in de Navigator und wählen Sie: "open as ..." Öffnen Sie als Quelldatei.

Hier finden Sie die UIView Referenz und ändern Sie die Rahmenwerte:

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

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

In XCode 4.3.2, ist der einfachste Weg für mich iPad-Version von xib zu erstellen ist, dass xib Datei dupliziert und ~ipad Suffix an den Dateinamen hinzuzufügen. Und fügen Sie beide „myVC.xib“ und „myVC ~ ipad.xib“ in Ihr Projekt. Beachten Sie, dass es "~ ipad" NOT "~ iPad" ist. Ihre App wird verwenden, dass ~ iPad-Version automatisch, wenn auf dem iPad laufen. Dies funktioniert auch mit Ressourcendateien (zum Beispiel Bilder).

Die beste Referenz ich im Moment finden konnte ... https://developer.apple.com/ Bibliothek / ios / # Dokumentation / Cocoa / Conceptual / LoadingResources / ImageSoundResources / ImageSoundResources.html

Xcode 5 update

  

targetRuntime = "iOS.CocoaTouch"

  

targetRuntime = "iOS.CocoaTouch.iPad"

Ich will dokumentieren, was ich in Xcode tat 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. Erstellen Sie eine Liste von Datei, die Sie in fixfile konvertieren wollen, wird jede Zeile ein Dateiname ohne Erweiterung sein. Wenn Sie ursprüngliche Dateinamen AAA_Iphone.h, nur AAA setzen. Wenn die Originaldatei nicht dieses Musters ist, müssen Sie das Skript ändern.

  3. Ausführen in der Befehlszeile

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

  5. In neu erstellte Datei in Projekt

Jag Antwort ist groß. Aber es gibt einen Haken, wenn ein XIB geöffnet / erstellt in Xcode 5.

Für Xcode 5

Machen Sie

1) eine Kopie der iPhone xib Datei und fügen Sie es zu einem Projekt

2) Recht auf die Datei (in Xcode) und Öffnen als> Source Code

3) Die zweite Zeile soll wie folgt aussehen:

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

ändern auf

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

4) 8. Zeile soll wie folgt aussehen:

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

ändern auf

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

Das ist es und dort haben Sie iPad XIB. Aber immer noch der eigentliche Kredit geht an Jag.

Zusätzlich von Jag gegeben beantworten auch für „320460“ suchen und ersetzen Sie es mit 768,1024 und Ihren XIB werden auf iPad Dimensionen der Größe verändert werden.

Für Xcode 4

Sie müssen nicht getrenntes Ziel für jedes Gerät erstellen. Stattdessen können Sie die Geräte in der Projektübersicht zu dem Universal ändern, die bereits im iPhone wären. Dies ist im Link aktualisiert iOS 5 App Universal auf Xcode 4.2 beantwortet. So wird es für Sie Übergang tun.

Sounds wie die beste Lösung als iphone immer zu entwickeln, ist zuerst, dann sobald man fertig ist, fügen Sie das ipad Ziel, tun lassen Xcode das Update. Ich habe den gleichen Fehler, ausgewählt universal, zu beginnen, die die ersten Dateien erstellt, aber dann jeder anderer xib mußte Hand im ipad Ordner neu erstellt werden. Big PAIN

Jag has given Great Answer.

In einigen Fällen.

  

Sie müssen Ihr Iphone XIB in Ipad XIB konvertieren. Sie können Verwenden Autoresizingmask   und erhalten auch Laufen Ipad. müssen nur Ihre APP konfigurieren für den Betrieb   in Universal-Modus mit dem richtigen autoresizingmask.

Ersetzen Sie einfach

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

mit

<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="14854.2" targetRuntime="iOS.CocoaTouch.iPad"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top