- (void)viewDidLoad
{
[super viewDidLoad];
UITabBarController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"tabbar"];
[self addChildViewController:controller];
controller.view.frame = CGRectMake(0,0, 500, 500);
[self.view addSubview:controller.view];
[controller didMoveToParentViewController:self];
}
如何将tabbar viewcontroller作为子视图添加到objective-C中的uiviewcontroller?
答案 0 :(得分:0)
如前所述,您已经在此处[self.view addSubview:controller.view]
tabbar控制器视图的自动调整大小假定其超级视图的完整大小。
如果在实例化标签栏控制器时设置框架,请务必更改标签栏视图的autoresizingMask
属性,以使其没有灵活的宽度或灵活的右边距。< / p>
答案 1 :(得分:0)
您已将UITabBarController *controller
的框架创建为 -
controller.view.frame = CGRectMake(500,500, 500, 500);
x and y origin is 500
,看起来添加了标签栏控制器,但它的原点位于屏幕的可见帧之外。
答案 2 :(得分:0)
if let controller = self.storyboard?.instantiateViewController(withIdentifier: "TabController") as? TabController {
addChildViewController(controller)
controller.view.frame = contentView.bounds
contentView.addSubview(controller.view)
controller.didMove(toParentViewController: self)
}
这里'contentView'是位于ViewController中的UIView