之前面试遇到了一个问题:
- 长按到
UIButton时,UITableView滑动不了,有遇到过么?(怎么解决?)
估计是当前面试官描述的不够清楚,然后我没有印象,也没理解他说的是什么。就回答说没有遇到过,幸而躲过了这一题。
但其实肯定是遇到过的,只是没有引起我的重视。
以下是解决办法:
1、无法滑动的问题
当点击到TableViewCell上的Button时,就无法滑动TableView。
解决的办法是:自定义一个TableView继承自UITableView,并重写以下方法:
override func touchesShouldCancel(in view: UIView) -> Bool {
return true
}
2、highlight效果延迟问题:
当UIButton被添加在UITableViewCell上时,它的高亮状态切换会延时。
解决的办法是:将tableView的delaysContentTouches设置为false
tableView.delaysContentTouches = false
本文介绍了解决UIButton导致UITableView无法滑动及高亮效果延迟的问题。通过自定义UITableView并重写touchesShouldCancel方法来解决滑动问题,同时设置tableView的delaysContentTouches为false以解决高亮延迟。

672

被折叠的 条评论
为什么被折叠?



