Я не использую панель вкладок или какой-либо другой элемент управления - я хочу в основном изменить текущее представление на другой контроллер представления динамически (то есть с помощью кода). Я вообще не использую Interface Builder ...
Например, допустим, мы создали три контроллера вида:
(это может быть не лучший пример, но я пытаюсь сделать его упрощенным)
View_Hello.m (и .h)
View_Goodbye.m (и .h)
View_Ciao.m (и .h)
Наш ViewerAppDelegate запустит View01_Hello.
View_Hello будет иметь пользовательский метод касания, который затем должен будет перейти к View_Ciao, если он был проведен, но View_Goodbye, если его только коснуться.
Любые идеи о том, как я мог бы сделать это (и, пожалуйста, не говорите «о, вам нужно использовать элемент интерфейса xxx для этого примера». Мне нужно иметь возможность произвольно изменять представления на основе программного управления в представлении приложение, над которым я работаю)
В течение прошлой недели я просматривал Google и StackOverflow, просматривал три книги O'Reilly Cocoa (плюс три книги для разработчиков iPhone), и все они просто используют простые интерфейсы - но ничего не показывает пример как то, что я пытаюсь сделать.
===========
Редактировать (@Andrew Grant):
например:
View_Ciao *viewCiao;
-(void) viewDidLoad {
viewCiao = [[View_Ciao alloc] initWithNibName:@"View_Ciao" bundle:nil];
[viewCiao.view setNeedsDisplay];
[super viewDidLoad];
}
Это вылетает. : -)
=============
Edit (@Daniel Dickison)
Бриллиант - это сработало!
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[window addSubview:viewController.view];
[window makeKeyAndVisible];
// create the second view, remove the first, and then display the second
viewCiao = [[ViewCiao alloc] init];
[viewController.view removeFromSuperview];
[window addSubview:viewCiao.view];
}