iPad用storyboard⇔iPhone用Storyboardへの変換
公開日:
:
最終更新日:2015/07/21
Tips InterfaceBuilder
iPad用アプリとしてiPad用前提のstoryboardから、iPhone対応にするにあたり、sizeclassを意識してstoryboard1つでやるより、(旧態依然としてる感もありますが)iPad用とiPhone用の2つのstoryboardで管理したほうが作りやすい(保守・追加の手間はかかる)ので、テクニックとして要所を押さえる感じでメモしておきたいと思います。
手順
(1)storyboardファイルのコピー
storyboardの本体はバイナリではなく、XMLなのでstoryboardファイルをコピーしてプロジェクトに追加。名前は適当で構わないですがiPad用/iPhone用の区別がつきやすいようにするといいでしょう。
(2)変換したいstoryboardファイルをソースコードで開く

(3)storyboardファイルの編集をする
ソースコードで直すべき部分は以下の2箇所のようです。
<document>要素の targetRuntime
[iPad]
iOS.CocoaTouch.iPad
[iPhone]
iOS.CocoaTouch
<simulatedScreenMetrics>要素
[iPad]
<simulatedScreenMetrics key=”destination”/>
[iPhone]
<simulatedScreenMetrics key=”destination” type=”retina4″/>
(4)storyboardを変更先のデバイスに合わせて変更する
iPhone用ではformSheetやpopoverなどは使えないので適宜Modalなり、pushなりに変更しないといけませんし、サイズも違うのでコンテンツのサイズ調整等は必要なのでガンガンいじることになります。1から作るよりは楽だと思いますので、ここはがんばりどころでしょう。
関連記事
-
-
UIActionSheetの文字がブレて多重表示される
UIActionsheetを使っていて、iOS7/iPadの組み合わせで起こる不具合らしき挙動が起こ
-
-
GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法
情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初のシート)をCSVとしてエクス
-
-
iOS9でのNSFetchedResultsContollerDelegateの挙動
ハマったので短いながらメモしたいと思います。 NSFetchedResultsContollerD
-
-
iOS8のシミュレーターでLocalizationのテストをする
iOS8.1のシミュレーターでは、従前できていたシミュレーター内での「設定」(Setting)からの
-
-
コードでiPhone6 Plusを識別する簡単な方法
表題の通り、コードでiPhone6 Plusを識別する簡単な方法です。 iPhone6 Plu
-
-
UICollectionViewが画面回転した時にレイアウトが崩れた時の対応
UICollectionViewCellのサイズを、内容に合わせて動的に変えた時に起こる問題に関して
-
-
UITableViewのセクションヘッダをStoryboardで作る時の参考
UITableViewのセクションヘッダをカスタムして作る際に、セルと同様にプロトタイピングするため
-
-
iOS7でのPopover内サイズの指定
UIPopover内で表示する場合のViewControllerのコンテンツサイズ設定に関してのメモ
-
-
Size ClassとUIViewController.view
タイトルの件でちょっとハマったことがある上に、特に日本語情報もStackOverflowからも情報が
- PREV
- UIAutomation関連覚書
- NEXT
- bitbucketのtips
