2

サブクラス化されたビュー コントローラーがあり、Interface Builder で VC のビューのサブビューを UIPageViewController のビューにしたい。UIPageViewController のデータソースをファイルの所有者に設定し、view プロパティを VC のサブビューに設定しました。この機能は実現できますか? または、そのように UIPageVC を使用することはできませんか? ほとんどの例はストーリーボード用であり、NavigationController によってプッシュされた古い VC ではありません。この例外「[UIView invalidatePageViewController]」が発生します。

4

1 に答える 1

1

ルートビューとして UIViewController を持っていたときと同じことが起こりました - そして私の UIViewController は次のように定義された属性を持っていました:

@property (strong, nonatomic) IBOutlet UIPageViewController *pageViewController;

私の IBoutlet は、xib の UIPageViewController にも接続されていました。

解決策: IBoutlet を削除し、UIPageViewController を xib から切断します。

@property (strong, nonatomic) UIPageViewController *pageViewController;

おそらく、クラッシュは「ビューごとに1つのビューコントローラーしかないはずです」に関連している可能性があります

また、「viewdidload」で _pageViewController.view = _apageView; を実行すると、

_apageView は次のように UIViewController にあります。

@property (strong, nonatomic) IBOutlet UIView *apageView;

これにより、同じクラッシュも発生します。したがって、次のことを行う必要があります。

[_apageView addSubview:_pageController.view];

その後、クラッシュは発生しないはずです。

于 2014-07-15T16:54:09.393 に答える