您好我有一个带有5个tabBar项目的UITabBarController。 第四个是UIScrollView。
第四个标签显示的区域我不会有特定的高度。
所以直到这里我已经完成了这个
这是我创建我的UITabBarController。(aViewController.h)
@interface aViewController: UIViewController <UITabBarControllerDelegate>{
UITabBarController *newTabBarController;
UIView *myView;
}
aViewController.m
- (void) viewDidLoad{
newTabBarController = [[UITabBarController alloc]init];
newTabBarController.delegate = self;
myView = [[UIView alloc]initWithFrame:CGRectMake(0,0,320,self.view.frame.size.height - newTabBarController.tabBar.frame.size.height)];
NSArray *controllers = [NSArray arrayWithObjects:myView, nil];
newTabBarController.viewControllers = controllers; //this is the line that a get an error :Tread1:Program receive signal: SIGABRT
[myView release];
}
如果我用Xcode创建一个UIViewController的viewController子类并将它放在NSArray中没有问题,但我希望我的视图有screen.height - tabbar.height所以我尝试以编程方式制作一个。 任何帮助都会受到关注!
答案 0 :(得分:0)
UIView尺寸
您可以通过Interface Builder完成此操作。
为给定标签创建所需的视图。然后进入属性检查器。名为“模拟指标”的选项卡允许您设置TabBar(甚至是NavigationBar)。
<强> SIGABRT 强>
myView = [[UIView alloc]initWithFrame:CGRectMake(0,0,320,self.view.frame.size.height - newTabBarController.tabBar.frame.size.height)];
NSArray *controllers = [NSArray arrayWithObjects:myView, nil];
newTabBarController.viewControllers = controllers; //this is the line that a get an error :Tread1:Program receive signal: SIGABRT
此属性称为viewControllers,而不是视图。
NSArray必须包含UIViewController实例或子类。
因此,最好使用IB定义View(并配置外观以显示TabBar等)。 然后使用方法initWithNibName:bundle:创建你的UIViewController,并将这些实例放入newTabBarController.viewControllers中。
希望有所帮助