У меня такое ощущение, что я испортил дизайн моего приложения на высоком уровне. Прямо сейчас у меня есть один Контроллер, Делегат приложения, Два UIViews (один является подклассом Scrollview) и одно перо для контроллера.
В IB я установил класс владельца файла на MusicGridController, а затем установил класс UIView на MusicGridView. Таким образом, экземпляры этих классов создаются пером, верно? Затем у меня есть UIScrollView, который я хочу разместить поверх MusicGridView. В приложении Delegate я сделал это:
@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, но я не знаю, как передать его нужному экземпляру.
В идеале, я думаю, мне, вероятно, следует загрузить MusicGridView в метод init подкласса UIScrollView, а затем, возможно, UIView будет экземпляром подкласса UIScrollView. Будет ли это работать?