美文网首页
iOS13 变化小记

iOS13 变化小记

作者: 无东东 | 来源:发表于2019-11-01 20:39 被阅读0次

1. ScrollView滚动条(ScrollIndicator)在圆角屏幕下方位置不正确

【最新的13版本应该已经修复了这个bug】

iOS13以前,UIScrollView设置了contentInsetAdjustmentBehavior之后,会自动在底部增加圆角的富余量,同时滚动条(ScrollIndicator)底部也会定位到圆角之上的位置。在iOS13之后,滚动条位置有时候不正确。

解决方法:iOS13中UIScrollView增加了属性automaticallyAdjustsScrollIndicatorInsets,默认true,意思应该是控制是否实现上述功能,但是有时不起作用,滚动条下端超出了圆角,而手动设置ScrollIndicatorInsets之后反而又起了作用,在手动设置的insets基础上又有增加,导致滚动条又离圆角过远。

需要特殊调整关闭iOS13的滚动条自适应改为手动设置:

override func viewDidLoad() {
        super.viewDidLoad()
        ...
        //适应圆角屏幕下方安全区
        if #available(iOS11.0, *) {
            //self.automaticallyAdjustsScrollViewInsets = true
            tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentBehavior.always
        }
        //ios13滚动条处理
        if #available(iOS13.0, *) {
            tableView.automaticallyAdjustsScrollIndicatorInsets = false
        }
}

//圆角屏幕下上拉刷新位置调整,滚动条位置调整
    override func viewSafeAreaInsetsDidChange() {
        if #available(iOS11.0, *) {
            super.viewSafeAreaInsetsDidChange()
            tableView.mj_footer.ignoredScrollViewContentInsetBottom = self.view.safeAreaInsets.bottom
        }
        if #available(iOS13.0, *) {
            tableView.verticalScrollIndicatorInsets = UIEdgeInsetsMake(0, 0, self.view.safeAreaInsets.bottom, 0)
        }
    }

2. TableView中cell选择效果实现的变化

在iOS13之前,cell设置了选择样式,在点击时会把cell中的所有subView背景颜色设置clear,再变化cell的背景色不会被其他view遮挡。

而iOS13之后,不再对cell的subView进行处理,只改变cell自身的backgroundColor,内部的subView会挡住cell的点击效果,如果需要点击效果,则要尽量使用透明的subView。

如果要实现具有间隔的cell效果,以前可以在xib中cell增加subView与cell留出空隙,设为白色,cell设置为clearColor。在iOS13之后,subView不会在点击时被clearColor,所以会挡住变化效果。现在可以改为让subView为clearColor,再在空隙出增加底色的view,让cell为白色。这样点击时会改变cell的背景色,subView也不会遮挡,而空隙处有背景色view遮挡,保留间隔效果。

相关文章

  • iOS13 变化小记

    1. ScrollView滚动条(ScrollIndicator)在圆角屏幕下方位置不正确 【最新的13版本应该已...

  • UISearchController的cancel按钮自定义中文

    iOS13 UISearchBar的层级发生了变化 iOS13 中取消了私有KVC 其中UISearchBar [...

  • UISearchController的cancel按钮自定义中文

    转载的 iOS13 UISearchBar的层级发生了变化 iOS13 中取消了私有KVC 其中UISearchB...

  • iOS13:UISceneDelegate

    本文涉及的内容: iOS13中UISceneDelegate所带来的的变化; 如何配置使得在iOS13中不使用默认...

  • iOS13后添加SceneDelegate初始化window方式

    生命周期的变化 iOS13之前 Appdelegate的职责全权处理App生命周期和UI生命周期; iOS13之后...

  • iOS13 新变化

    新增暗黑模式 创建新项目时生成AppDelegate 和SceneDelegate,SceneDelegate负责...

  • iOS13适配小记

    1.modal控制器交互方式改变在UIViewController.h里,对于modal的动画方式,多了一个属性来...

  • iOS13 适配最新

    iOS13 适配最新 1、iOS的界面UI变化 暗黑模式下 appStatusBar蜜汁变白、Label变白、ce...

  • iOS13的蓝牙变化

    一、弹窗逻辑 1.蓝牙权限弹窗 在iOS13中初次调用蓝牙功能系统会调出权限弹窗,提示是否允许使用蓝牙,增加了一...

  • iOS13的界面变化

    iOS13已经进入到了第二波内测期,让我们来看看它的界面都产生了怎样的变化: 更加“圆润”了 下方是appleTV...

网友评论

      本文标题:iOS13 变化小记

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