美文网首页
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