正常情况是这样的
当从子页面返回主页的时候,就发现tabbar那里的按钮都出现了重影,除了中间的扫描二维码按钮
有人知道这是什么原因吗?
前人的代码,用的是自定义的tabbarcontroller和自定义tabbar。
在我手机iphone x 上出的问题
更新
现在发现,在返回的时候,调用了两次自定义tabbar的layoutSubviews。
- (void)layoutSubviews{
[super layoutSubviews];
self.writeButton.center = CGPointMake(self.frame.size.width*0.5, self.frame.size.height*0.5);
CGFloat btnY = 0;
CGFloat btnW = self.frame.size.width/(self.subviews.count);
CGFloat btnH = self.frame.size.height;
for (int nIndex = 0; nIndex < self.tabbarBtnArray.count; nIndex++) {
CGFloat btnX = btnW * nIndex;
MainTabBarButton *tabBarBtn = self.tabbarBtnArray[nIndex];
if (nIndex > 1) {
btnX += btnW;
}
tabBarBtn.frame = CGRectMake(btnX, btnY, btnW, btnH);
tabBarBtn.tag = nIndex;
}
}
不知道为什么会调用两次
而且感觉tabbar的高度变高了。。。
这不是重影了, 这是系统默认的tabbar又出现了。
自定义的tabBarController/tabbar,是不是继承了系统的tabbarController/tabbar?应该是返回后,设定将已经隐藏的tabbar显示出来。
你是不是对这个显示的操作,也同时给了系统默认的tabbar?查下代码,看看是不是改错了什么地方。