Вам необходимо передать ссылку на ваш корневой контроллер представления (RootViewController * rootViewController), когда вы создаете представление контента либо в пользовательском методе init, либо просто назначая его после того, как создали его: = я; .
Теперь в вашем представлении содержимого вы можете вызвать соответствующий метод в контроллере корневого представления для переключения: [self.rootViewController switchView] . Этот вызов затем может быть запущен внутри метода, который вызывается при нажатии кнопки (метод IBAction).
Так вот что вам нужно сделать:
1) Создайте свойство в вашем контроллере представления контента типа RootViewController
@class RootViewController;
@interface MyContentViewController : NSObject {
@private
RootViewController *rootViewController;
}
@property (retain) RootViewController *rootViewController;
и убедитесь, что он сохраняет ссылку.
2) Синтезируйте свойство и добавьте обратный вызов в корневой контроллер представления, который переключает представление:
@implementation MyContentViewController
@synthesize rootViewController;
- (IBAction) switchView:(id) sender {
[rootViewController switchToNextView];
}
-(void) dealloc {
[rootViewController release];
[super dealloc];
}
Также в конце отпустите сохраненную ссылку.
3) Назначьте контроллер корневого представления представлению содержимого внутри вашего RootViewController:
self.contentViewController = [[[MyContentViewController alloc]
initWithNibName:@"ContentView"
bundle:nil] autorelease];
self.contentViewController.rootViewController = self;
Это должно быть все. Я надеюсь, что это поможет вам.