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