Как инициализировать представление с initWithCoder: метод - PullRequest
0 голосов
/ 11 ноября 2011

У меня есть представление, которое инициализируется с - (id)initWithCoder:(NSCoder *)aDecoder Как мне инициализировать это представление в viewController?

Я думаю, что мне нужно viewController, если я хочу, чтобы представление autoRotate с устройством. Я не уверен, может быть, я мог бы выполнить autoRotation без viewController?

Добавление наблюдателя и shouldAutorotateToInterfaceOrientation: к представлению не привело к автоматическому повороту представления. Но когда я также добавлю

-(void) orientationChanged:(NSNotification *) notification 
{
    NSLog(@"orientationChanged: %d", [[notification object] orientation]);
} 

Я получаю значение ориентации в окне консоли.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 12 ноября 2011

initWithCoder: для управления сериализованными объектами. Вы никогда не звоните прямо. Объект с методом initWithCoder: должен все еще иметь обычный назначенный инициализатор (для представления это будет initWithFrame:). Однако, как правило, я рекомендую использовать nib-файл, а не пытаться создавать его вручную. Это значительно упрощает вещи, и загрузка из файла пера вызовет initWithCoder:.

Управлять авторотацией с помощью контроллера представления намного проще. Это не обязательно, но делает некоторую работу за вас.

...