У меня есть MyAppAppDelegate, он содержит окно и UITabBarController.
@interface MyAppAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
IBOutlet UITabBarController *rootController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *rootController;
@end
И у меня есть представление A, содержащее кнопку для переключения на представление B. Это файл .h:
#import <UIKit/UIKit.h>
@class MyAppAppDelegate;
@class ViewBController;
@interface ViewAController : UIViewController {
IBOutlet UIView *view;
IBOutlet UIButton *switchToViewBButton;
}
@property (retain, nonatomic) UIView *view;
@property (retain, nonatomic) UIButton *switchToViewBButton;
-(IBAction) startSwitching: (id)sender;
@end
И это файл ..m:
#import "ViewAController.h"
#import "ViewBController.h"
#import "MyAppAppDelegate.h"
@implementation ViewAController
/*skip the default generated codes*/
-(IBAction) startClock: (id)sender{
NSLog(@"Start Switching");
[rootController presentModalViewController:ViewBController animated:YES];
}
Пожалуйста, обратите внимание, что ViewB не может отображаться на UITabBarController, он появляется только при нажатии кнопки ViewA. Также я обнаружил, что отладчик сообщает мне, что rootController не объявлен. но я уже импортирую MyAppDelegate в файл. это много ... ...