私は比較的簡単なアプリを持っています。私はフルスクリーンのUIViewサブクラス(musicGridView)とユーザーがやり取りするUIScrollViewサブクラス(scrollView)と、ViewControllerとmainWindow.xibの両方でこのクラスを読み込みます。MVC:ビューをロードする場所は?
今、私は、タイプmyViewControllerのペン先にロードされたviewControllerインスタンスを持っています。ペン先にも、myViewControllerが指し示すmyUIViewのインスタンスがあります。 AppDelegateで
、私はこれを行う:私は思う
[window addSubview:scrollView];
[scrollView addSubview: viewController.view];
scrollView.musicGridView = (MusicGridView*) viewController.view;
が間違っています。理想的には、appDelegateにはscrollViewのインスタンスがありません。
scrollViewのAwakeFromNibクラスでは、scrollViewで初期化を行います。
appDelegateで[window addSubview:viewController.view]をロードし、viewControllerをmusicGridViewの代わりにscrollViewのインスタンスにポイントします。次に、scrollView awakeFromNibで、musicGridViewのサブビューを追加します。
最後に、scrollViewが所有する別のビューを作成します。このビューは、実際には、ユーザーが左にスクロールして表示できるサイドのTabBar(指定されたAPIでは不可能です)です。
他のMVCの間では、viewControllerがscrollViewを指している必要があります。scrollViewには、musicGridViewを含む他のすべてのコンテンツUIViewサブクラスが含まれていますか?
だから私はこれを試して空白の画面を表示しています。どこが間違っているのかわからない... – Craig