高レベルから私のアプリケーションのデザインに傷ついたような気がします。今、私は1つのコントローラ、App Delegate、2つのUIView(1つはScrollviewのサブクラス)とコントローラの1つのペンを持っています。MVC Question ... Controllerにコードを配置する場所と、UIViewサブクラスをネストする方法
IBでは、ファイル所有者のクラスをMusicGridControllerに設定してから、UIViewのクラスをMusicGridViewに設定しました。したがって、これらのクラスのインスタンスは、ペン先でインスタンス化されます。次に、私はUIScrollViewを持っています。これは、MusicGridViewの上にレイヤーを重ねたいということです。アプリの委任では、私はこれをやった:
@synthesize window;
@synthesize viewController;
@synthesize scrollView;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after app launch
//[application setStatusBarHidden:YES animated:NO];
//[window addSubview:viewController.view];
scrollView.contentSize = CGSizeMake(480, 480);
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.showsVerticalScrollIndicator = NO;
scrollView.alwaysBounceVertical = NO;
scrollView.alwaysBounceHorizontal = NO;
// scrollView.maximumZoomScale = 4.0;
// scrollView.minimumZoomScale = 0.75;
scrollView.delegate = self;
// [viewController.view addSubview:scrollView];
[window addSubview:scrollView];
[scrollView addSubview:viewController.view];
[window makeKeyAndVisible];
}
だから、私は、ウィンドウにscrollViewのサブビューとしてコントローラの、ビューをscrollViewサブクラスを追加しています。
私はアーキテクチャに根本的に混乱していると思います。これまでユーザーとやり取りしていたコードのほとんどすべてが私のMusicGridViewにあり、コントローラは文字通り何もしません。
私が今実行している問題は、UIScrollviewのインスタンスをMusicGridViewインスタンスに渡す必要があることですが、正しいインスタンスに渡す方法がわかりません。
理想的には、UIScrollViewサブクラスのinitメソッドでMusicGridViewをロードし、UIViewをUIScrollViewサブクラスのインスタンスにするのが理想的です。それは働くだろうか?