美文网首页
iOS11 UIView动画设置View.alpha无效问题

iOS11 UIView动画设置View.alpha无效问题

作者: dragonYao | 来源:发表于2017-10-11 16:06 被阅读241次
场景
view_alpha_bug.gif
  • 上图gif中左手边是iOS11系统,右手边是iOS10系统
  • 更新到iOS11之后,发现在Xib创建的 UIScrollView 上的 UITapGestureRecognizer 单击手势可以点击,但是动画设置的View的alpha失效了。
  • 在iOS 11之前的系统都是正常的,没有任何的问题。这让我一阵头疼,UI的显示都正常,没有任何问题。
下面是我原来的代码,在设置View的alpha值改变现实和隐藏, iOS11之前都是生效的
- (void)showBottomView {
    //显示底部文字label bottomView
    [UIView animateWithDuration:.2 animations:^{
        _bottomView.alpha = 1.0;
        _navigationView.alpha = 1.0;
    }];
}

- (void)hiddenBottomView {
    //隐藏底部文字label bottomView
    [UIView animateWithDuration:.2 animations:^{
        _bottomView.alpha = 0.0;
        _navigationView.alpha = 0.0;
    }];
}
我的解决办法是,将UIScrollView也添加一下屏幕适配,添加如下代码:
if (@available(iOS 11.0, *)) {
        self.scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
else {
        self.automaticallyAdjustsScrollViewInsets = NO;
}
  • 添加了上面的适配代码,View的alpha值就生效了,我猜测是iOS11 saveArea导致的,具体什么原因没找到,如果有知道原因的还请告知🙏,O(∩_∩)O谢谢!!

相关文章

网友评论

      本文标题:iOS11 UIView动画设置View.alpha无效问题

      本文链接:https://www.haomeiwen.com/subject/cnywyxtx.html