iPhone X在push的时候tabbar会上移是怎么回事

如题所述

想了好久最后我认定一定是tabbar隐藏的过程的动画导致的,于是决定对问题原因进行动刀,既然tabbar在隐藏的时候push动画还没加载完全,当页面还没有出现在屏幕上的时候AutoLayOut便绘制了一遍,View的大小是按照不包括tabbar高度的大小绘制的,当tabbar彻底隐藏后,view加载完成又根据当前View的大小重新自适应了控件的位置,导致出现这样的问题,那么问题来了,我们怎么修改呢?我最终定下的方案就是在push到下级页面的时候就把View的大小给重绘下就搞定了,在二级VC写入代码:

[objc] view plain copy print?
- (void)viewWillLayoutSubviews
{

[super viewWillLayoutSubviews];
if (! _isAppear)
{
self.view.frame = _CGR(self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, [[UIScreen mainScreen] bounds].size.height);
}
_isAppear =YES;

}

这个_isAppear是BOOL成员变量来控制View第一次加载的状态,系统在赋值的时候会默认设置成NO,记得在用完一定要设置成YES

搞定!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-09-26
X是罗马数字10。罗马数字11是XI。
第2个回答  2017-10-11
你看下这篇博客就可以完美解决解决

http://blog.csdn.net/wangyang6275/article/details/78204510
相似回答