这是我在项目上遇到的bug,整整找了一天最后自己才尝试做出的方法,可以让tabbar的frame不变。
在自定义tabbarcontroller界面
-
(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
//先将原来的子控件全部移除
[self.tabBar.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
//将系统的tabbar设置为不可变;
self.tabBar.autoresizingMask = UIViewAutoresizingNone;
//添加自定义子控件
JLYTabBar *tabBar = [[JLYTabBar alloc] init];
tabBar.delegate = self;
[tabBar setTitles:self.titles subTitles:self.subTitles];
tabBar.frame = self.tabBar.bounds;
[self.tabBar addSubview:tabBar];
}
网友评论