У меня проблема с переключением взглядов. Я использую симулятор с xcode 4.2.
Раскадровка содержит:
NavigationController
(начальный контроллер представления)UIViewController
, связанный с навигационным контроллеромUIViewController
(в паре с моим пользовательским классом:ViewEntryImageController
), который не имеет никакого отношения. Содержит кнопку, нижнюю панель инструментов с некоторой кнопкой панели инструментов.
Пользователь заходит в UIViewController
, где он может видеть ScrollView
, а в ScrollView
несколько изображений.
Изображения имеют жест:
UITapGestureRecognizer *recognizer=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(openEntryImage)];
[image addGestureRecognizer:recognizer];
[recognizer release];
Функция openEntryImage:
(IBAction)openEntryImage
{
ViewEntryImageController *controller=[[ViewEntryImageController alloc]initWithNibName:nil bundle:nil];
controller.modalTransitionStyle=UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:controller animated:YES];
[controller release];
}
Когда я пытаюсь нажать на изображение, openEntryImage
тоже работает (эффект правильный), но я не вижу своего вида ViewEntryImageController
и своих кнопок, я вижу только черное окно.
Я пытаюсь поместить строку NSLog в функцию ViewEntryImageController
viewDidLoad
, и она работает, так что же такое черное окно и где мой контроллер представления?
Когда я пытаюсь использовать pushViewController
, в новом представлении я обнаружил панель инструментов навигации с кнопкой «Назад», но никаких других элементов управления.
Я попробовал другую версию, я создал класс UIViewController
, но теперь с файлом xib. Я использовал его вместо ViewEntryImageController
, и он работает. Почему? Я тоже хочу использовать этот контроллер в раскадровке.