変換するiPhone xibをiPad xib?
質問
よろしくお願いしまです。イベントを通したビデオチュートリアルでも、画面が小さすぎます。また、以外に変更するビューのサイズ、その他の大きな変化をいうiphoneアプリへの変換にiPad?
解決
いまのSDK とXcode3,
- 開IB.
- 開XIB.
- ファイルを作成し、iPad版での使用autoresizingマスクを商品化しました。
他のヒント
私はここに、いくつかのことにそれを絞り込むことができた私の仕事の手順のとおりです:
1)iPhoneのXIBファイルのコピーを作成し、プロジェクトに追加します。
2)右> Xcodeで(ファイルをクリック)し、オープンソースコードとして
3)2行目は次のようになります。
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
で置き換えます:
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10">
4) "IBCocoaTouchFramework" を検索すると、 "IBIPadFramework"
とのすべてのオカレンスを置き換え5)ファイルを保存して開くと> Interface Builderを - iOSの
私はiPadのXIB ファイルはまだ、通常のiPhoneのXIBのように見えるが、私のためかもしれません>にXcode5に対してのみ利用でき:
索:
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4510" systemVersion="12F37" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
置き換え:
<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="4510" systemVersion="12F37" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none">
おまけの追加 .iPad の type
や targetRuntime
ます。
開封後を選ぶだけの新しいサイズを任意に調整可能です。例:iPadの画面全体にする。
XCode4ます:
Xcodeの4で、我々は、単一のXIBのためにそれを行うことはできませんが、我々はすべてを一度にそれぞれのアプリのバージョンを作成することができます。
それはiPhoneのみのために設定されている場合、ターゲット上で、iPadに右クリックし、プロジェクトを構成する前に、重複をクリックします。
さて、「重複やiPadへの移行」を選択します.A新しいターゲットとxibsの新しいセットがcreated.Itは、いくつかの作業を減らす必要があります。
希望、それは助けています。
の Xcodeの4 の
のiPadのバージョンを作成して自動サイズ調整マスクを使用しての機能Xcodeの4から削除されました。 今最も簡単な方法は、ペン先(.xib)ファイル形式が変更されていないからです。
、変換のためのXcode 3を使用することですXcodeの3&4今や(ディスクイメージ上のインストール手順を参照)は、単に別のフォルダを選択することにより、同じシステムにインストールすることができ、両方の
そうでなければ、あなたのコードにそれらをコピー/ iPhoneのバージョンからのUI要素を貼り付け、および再リンクする必要があります。
うまかせのコンピュータなコンピューターの仕事とは?
より速く、リスクに誤差は生じません。
ここではワークフローに基づく 優れた回答から一, ものの、自動化とsed.
初めましょう設定である。また必要なことだ。
ィレクトリ内のディレクトリを含んでおXIBs、ファイルを以下の内容:
ファイル iPhoneToiPadXIBConversion.sed
:
s/com.apple.InterfaceBuilder3.CocoaTouch.XIB/com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB/g
s/IBCocoaTouchFramework/IBIPadFramework/g
ファイル iPadToiPhoneXIBConversion.sed
:
s/com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB/com.apple.InterfaceBuilder3.CocoaTouch.XIB/g
s/IBIPadFramework/IBCocoaTouchFramework/g
設定が終わりました。に変換するにはXIBを入力は以下のコマンドのターミナル
iPhone、iPadの変換:
sed -f iPhoneToiPadXIBConversion.sed MyViewController~iphone.xib > MyViewController.xib
iPad iPhoneへの変換:
sed -f iPadToiPhoneXIBConversion.sed MyViewController.xib > MyViewController~iphone.xib
ちなみに、楽しさを作ろう二つの機能zshの変換でもよりシンプルです:
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."
}
後を追加することのできるzsh configに変換するXIBプとして:
convertiPadXIBToiPhone MyViewController.xib
または
convertiPhoneXIBToiPad MyViewController.xib
XCodeの4におけるXIB開く「ソースコードとしてビュー」を
の前に
問題のペン先まで戻ります。
ワン
このグーを代入
<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>
この他のグーのために
<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>
2つの
次に、統合IBを使用してペン先の各ビューのために、それを削除してからヒットアンドゥます。
三
そして、あなたが持つかもしれない感じて嫌なことを拭き取るお湯でシャワーます。
あなたはテキストファイルとしてXIBを開き、UIViewのサイズを変更することができます:
デ・ナビゲーターであなたのXIBファイルのを右クリックして選択します「などのオープン...」 ソースファイルとして開きます。
のUIViewの参照を検索し、フレーム値を変更します:
<object class="IBUIView" id="191373211">
<string key="NSFrame">{{0, 20}, {768, 1024}}</string>
ではXCodeの4.3.2、私はXIBのiPad版を作成するための最も簡単な方法は、そのXIBファイルを複製して、ファイル名に~ipad
接尾辞を追加しています。そして、あなたのプロジェクトに「myVC.xib」と「myVC〜ipad.xib」の両方を追加します。それは "〜iPadの" NOT "〜アプリ" であることに注意してください。 iPad上で実行すると、アプリが自動的にその〜iPad版を使用します。また、これはリソースファイル(例えば画像)で動作します。
私は、現時点では見つけることができる最高の参照... https://developer.apple.com/ライブラリ/ IOS /#のドキュメント/ココア/概念/ LoadingResources / ImageSoundResources / ImageSoundResources.htmlする
Xcodeの5更新
targetRuntime = "iOS.CocoaTouch"
と
targetRuntime = "iOS.CocoaTouch.iPad"
私のドキュメントを参照したXcode4.5:
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
リストの作成したいファイルに変換する
fixfile
, 各ラインのファイルの名前を拡張子な.またファイル名がAAA_Iphone.h
, 貼るだけAAA
.た場合にファイルはこのパターンに必要なものの見直しを記述します。実行コマンドライン
cat fixfile | while read line ; do sed -e "s/REPLACEME/${line}/g" fixpattern.sh ; done > fixall.sh
見直しと実行
fixall.sh
追加新規作成されたファイルをプロジェクト
ジャガーの答えは素晴らしいです。 XIBはXcodeの5にオープン/作成されている場合でも、キャッチがあります。
Xcodeの5 のために
1)iPhoneのXIBファイルのコピーを作成し、プロジェクトに追加します。
2)右> Xcodeで(ファイルをクリック)し、オープンソースコードとして
3)2行目は次のようになります。
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="4510"
タグに変更します
<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="4510"
4)第八行は次のようになります:
<rect key="frame" x="0.0" y="0.0" width="320" height="480"/>
タグに変更します
<rect key="frame" x="0.0" y="64" width="768" height="960"/>
それそれだとあなたがiPadのXIBをそこに持っています。しかし、まだ本当のクレジットがぎざぎざになります。
はiPadの寸法にリサイズされます。
のXcode 4は、
あなたは、デバイスごとに個別のターゲットを作成する必要はありません。代わりに、あなたはすでにiPhoneになり、ユニバーサルへプロジェクト概要のデバイスを変更することができます。これは、Xcodeの4.2でユニバーサルへのiOS 5のAppのアップデートのリンクに答えています。したがって、それはあなたのための移行を行います。
サウンド、そしてあなたが完了完了したら、Xcodeの更新を行うせる、iPadのターゲットを追加します。私は、最初のいくつかのファイルが作成されます開始するユニバーサル選択したのと同じミスをし、作られたが、その後、他のすべてのXIBは、iPadのフォルダで再現手でなければなりませんでした。大きな傷み
Jag has given Great Answer.
いくつかのケースでます。
iPadのXIBであなたのiPhone XIBを変換する必要はありません。あなたはAutoresizingmaskを使用することができます また、iPadの実行得ます。ただ実行するために、あなたのAPPを設定する必要があります 適切なautoresizingmaskとユニバーサルモードでます。
ただ、置き換える
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14854.2" targetRuntime="iOS.CocoaTouch"
と
<document type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="3.0" toolsVersion="14854.2" targetRuntime="iOS.CocoaTouch.iPad"