美文网首页
[iOS] 关于iOS14 之后TableViewCell 的c

[iOS] 关于iOS14 之后TableViewCell 的c

作者: 流火绯瞳 | 来源:发表于2021-07-08 18:19 被阅读0次

    问题描述

    有用户反馈,在iPhone 12的手机上,我们有一个表单无法输入内容,表单是在tableViewCell内嵌套UITextView和UITextField实现的。

    定位问题

    找了一个iPhone 12的测试机,在经过调试后,控制台没发现异常log,操作中也没有响应。最后查看了视图的层级,发现在TableViewCell的顶层覆盖了一个ContentView,视图层级如下:

    这个ContentView将交互事件拦截了,导致底层的TextView没有响应;

    解决问题

    找到了问题,就猜测是不是直接把SubVew添加到了self上,而不是self.contentVew,查看代码,果然是这样,只需要进行下面的修改:

    // 修改前
    [self addSubview:self.titleField];
    
    // 修改后
    [self.contentView addSubview:self.titleField];
    

    后记

    在之前,直接将TableViewCell的subView直接添加到self上是没有问题的,估计是iOS 14 之后,层级有所调整,必须将subView添加到self.contentView上。

    相关文章

      网友评论

          本文标题:[iOS] 关于iOS14 之后TableViewCell 的c

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