0

私は、それぞれが単一の UIViewController の UIView である約 30 ページを含む書籍アプリを持っています。これを StoryBoarding と UIPageViews を使用するアプリに移行したいと考えています。UIPageView の各「ページ」は、UIView ではなく UIViewController である必要があるようです。これについて最善の方法は何ですか?各 UIView ページから UIViewController を作成する必要がありますか?

4

2 に答える 2

1

うん。UIViewすべてのサブクラスをサブクラスとして書き直しますUIViewController。私はいくつかのプロジェクトでそれを実行しましたが、少し面倒であることがわかりました。私のプロジェクトでは、新しい Xcode プロジェクトを作成して新しいインフラストラクチャを構築するのが最も簡単であることがわかりました。UIViewController次に、古いクラスごとに新しいクラスを作成しUIViewます。UIView次に、ほとんどのコードを古いクラスから新しいクラスにコピー アンド ペーストしUIViewControllerました。に色々変えましselfself.view。のライフサイクルはUIViewControllerUIView よりも少し複雑なので、初期化コードの一部を指定されたイニシャライザーからサブクラスのメソッドviewDidLoadviewWillAppearメソッドに移動することになりました。UIViewController

コメントへの返信: 私のアプリでは多くのページに独自のインタラクティブ機能があるため、UIViewControllerそれらの機能を管理する独自のサブクラスを作成しています。一部のページには同じ機能がありますが、コンテンツが異なります。UIViewControllerこれらは、1 つのサブクラスの複数のインスタンスを使用するだけです。私のモデル オブジェクトは、これらのUIViewControllerサブクラスを作成し、適切なコンテンツを設定します。

つまり、UIViewControllerページごとに新しいサブクラスを作成する必要はありません。ページに独自の機能がある数だけ。ページが何もしない場合は、UIViewControllerサブクラス化せずにそのまま使用することもできます。

于 2012-03-06T14:43:17.920 に答える
0

iOS 5iPhoneUIPageViewControllerアプリケーションの例の記事をご覧ください。この章では、ページビューコントローラの背後にある概念の概要と、このクラスの動作を示すために設計されたサンプルアプリケーションについて説明します。

于 2012-03-07T06:08:40.570 に答える