1つのuiviewcontrollerを使用してすべてのページをuiviewsとしてストーリーボードとuipageviewに処理するブックアプリを最適に移行するにはどうすればよいですか?
-
28-10-2019 - |
質問
私はそれぞれ1つのuiviewcontrollerのuiviewである約30ページの本を持っています。これをストーリーボードとuipageViewsを使用するアプリに移行したいと思います。 uipageviewの各「ページ」は、uiviewではなくuiviewcontrollerでなければならないようです。これを行うための最良の方法は何でしょうか?各uiviewページからuiviewcontrollerを作成する必要がありますか?
解決
チェックアウト IOS 5 iPhone UIPAGEVIEWCONTROLLERアプリケーションの例 論文。その章では、ページビューコントローラーの背後にある概念の簡単な概要と、このクラスを実証するように設計されたアプリケーションの例を提供します。
他のヒント
うん。すべてを書き直します UIView
サブクラスとして UIViewController
サブクラス。私は自分のプロジェクトのいくつかでそれをやったことがありますが、それは少し退屈であることがわかりました。私のプロジェクトでは、新しいXcodeプロジェクトを作成して新しいインフラストラクチャを構築するだけで最も簡単だと感じました。次に、新しいものを作成します UIViewController
私の古いそれぞれのクラス UIView
クラス。それから私は古いコードのコードのほとんどをコピーして貼り付けました UIView
新しいへのクラス UIViewController
クラス。私はたくさん変えました self
に self.view
. 。のライフサイクル UIViewController
uiviewよりも少し複雑なので、指定された初期イザーから初期化コードを移動することになりました。 viewDidLoad
と viewWillAppear
私の方法 UIViewController
サブクラス。
コメントへの応答:私のアプリでは、多くのページがユニークなインタラクティブな機能を持っているので、私はユニークなものを書きます UIViewController
これらの機能を管理するサブクラス。一部のページには同じ機能がありますが、コンテンツは異なります。これらは、1つの複数のインスタンスを使用するだけです UIViewController
サブクラス。私のモデルオブジェクトはこれらを作ります UIViewController
サブクラスに適切なコンテンツを入力します。
言い換えれば、新しいものを書く必要はありません UIViewController
すべてのページのサブクラス。ページに一意の機能があるのと同じくらい。あなたのページが何もしない場合、あなたはただ使用することさえできます UIViewController
サブクラス化なしで。