New*_*per 5 cocoa-touch uitabbarcontroller uinavigationcontroller ios
正如我在标题中提到的,我想添加Navigation Controller到我已经拥有的应用程序中Tab Controller.所以试着在这个页面上做员工.无论如何,有些事情是错的.UINavigationController正在寻找一个空白页面,即使有一个视图和一些库.
让我从stracht开始:
在我AppDelegate,我正在设置这样的标签栏控制器:
@interface MYAppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UITabBarController *tabBarController;
@end
Run Code Online (Sandbox Code Playgroud)
这是.m文件:
@implementation MYAppDelegate
@synthesize window = _window;
@synthesize tabBarController = _tabBarController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
application.applicationSupportsShakeToEdit = YES;
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UINavigationController *viewController1 = [[[MYMainViewController alloc] init] initWithNibName: @"MYMainViewController" bundle:nil];
UIViewController *viewController2 = [[[MYPageViewController alloc] init] initWithNibName:@"MYPageViewController" bundle:nil];
UIViewController *viewController3 = [[[MYSearchViewController alloc] init] initWithNibName:@"MYSearchViewController" bundle:nil];
UIViewController *viewController4 = [[[MYPersonViewController alloc] init] initWithNibName:@"MYPersonViewController" bundle:nil];
// Initialize tabBarController and add ViewControllers
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects: viewController1, viewController2,
viewController3, viewController4, nil];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
然后,这里是一个MYMainViewController实现,它是UINavigationController:
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"%@", [self navigationController]); // Logging null
}
Run Code Online (Sandbox Code Playgroud)
我的.xib文件有一个UINavigationController和,并且有一个视图.尽管如此,当我使用该应用程序时,还有空白页面和无标题导航栏.我究竟做错了什么?
如果我能看到我的视图的内容,我想通过使用后退按钮在两个视图控制器之间导航.
任何帮助或方法对我来说都很棒.
尝试从 xib 中删除导航控制器,使其只有视图控制器,然后以编程方式初始化导航控制器:
UIViewController *tmpViewController1 = [[[YourViewController alloc] init] initWithNibName:@"YourViewController" bundle:nil];
UINavigationController *viewController1 = [[UINavigationController alloc] initWithRootViewController:tmpViewController1];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5421 次 |
| 最近记录: |