UITabBarController无法加载第二个选项卡

时间:2014-05-08 11:26:08

标签: ios uitabbarcontroller uitabbar

我是iOS新手,我正在尝试使用UITabBarController创建标签视图。一切工作正常仍然应用程序加载第一个选项卡,但当我点击第二个选项卡项应用程序挂起与例外,

   Terminating app due to uncaught exception `NSInvalidArgumentException`, reason: '-[UIPeripheralHost _tabBarItemClicked:]: unrecognised selector sent to instance 0x8c692a0"

这是我的代码:

- (void) setupview
{
FirstViewController *first = [[FirstViewController alloc]init];
SecondViewController *second = [[SecondViewController alloc] init];

first.title = @"First";
second.title = @"Second";

first.tabBarItem.image = [UIImage imageNamed:@"icon1.png"];
second.tabBarItem.image = [UIImage imageNamed:@"icon2.png"];

UITabBarController *tabBarController = [[UITabBarController alloc] init];
tabBarController.view.frame = CGRectMake(0, 50, 320, 410);

[tabBarController setViewControllers:[NSArray arrayWithObjects:first, second, nil]];

[self.view addSubview:tabBarController.view];

}

1 个答案:

答案 0 :(得分:1)

问题是不保留tabBarController(这就是为什么异常中的目标是UIPeripheralHost [垃圾])。

因此,为了使控制器保持活动状态,您必须通过强属性对其进行强引用,或将其添加为子控制器(通过addChildViewController: