我是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];
}
答案 0 :(得分:1)
问题是不保留tabBarController
(这就是为什么异常中的目标是UIPeripheralHost
[垃圾])。
因此,为了使控制器保持活动状态,您必须通过强属性对其进行强引用,或将其添加为子控制器(通过addChildViewController:
)