Я думал, что на самом деле хорошо разбираюсь в модели контроллера представления, но что-то просто не имеет для меня особого смысла. Моя основная проблема связана с добавлением настраиваемого подкласса UIView в качестве свойства подкласса UIViewController.
Каждый раз, когда я назначаю этому свойству действительный экземпляр подкласса UIView, ничего не происходит или код выходит из строя.
Вот краткое описание:
- Главный контроллер имеет собственное представление и загружается нормально.
- Затем я могу добавить этот подкласс UIView к основному контроллеру, создав его экземпляр и
addSubview:ivar
и т. Д. Нет проблем ...
Однако ... если бы я хотел, чтобы этот пользовательский UIView был свойством ViewController, это, похоже, не сработало. Кто-нибудь может пролить свет?
Вот сводка кода:
@interface CustomUIView : UIView { }
.
@interface MainViewController : UIViewController {
CustomUIView *someOtherView;
}
@property (nonatomic, copy) CustomUIView *someOtherView;
...
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor greenColor]; // the default controller view
CustomUIView *tmpView = [[CustomUIView alloc] initWithFrame:CGRectMake(0,0,320,480)];
[self.view addSubview:tmpView]; // this works
self.someOtherView = tmpView; // this does NOT work and
self.view = self.someOtherView; // ultimately, this is what i'm after
[tmpView release];
}
Огромное спасибо этому замечательному сообществу!