gpt4 book ai didi

swift - 当我设置 delaysContentTouches = false 时,带有静态单元格的表格不会滚动

转载 作者:行者123 更新时间:2023-11-28 06:49:56 25 4
gpt4 key购买 nike

问题:突出显示与滚动

当我轻轻点击它们时,单元格内的按钮没有突出显示。我必须用力点击很长时间才能看到按钮的点击状态。

所以我这样做是为了在 viewDidLoad() 中将 delaysContentTouches 设置为 false(我没有设法做到这一点):

   for index in tableView.subviews {
if (index.isKindOfClass(UIScrollView)) {
let scrollViewFound = index as! UIScrollView
scrollViewFound.delegate = self
scrollViewFound.delaysContentTouches = false
scrollViewFound.canCancelContentTouches = true
scrollViewFound.scrollEnabled = true
}
}

这样按钮会正确突出显示,但随后我无法向上或向下滚动表格,除非我从其中一个空单元格开始拖动 --> userInteractionEnable = false在空单元格中


我需要什么:

既能突出显示按钮又能滚动表格。甚至可以同时拥有可 ScrollView 和突出显示的按钮吗?


我尝试过的

我试过调用这个函数:

func touchesShouldCancelInContentView(view: UIView) -> Bool {
print("touchesShouldCancelInContentView happening---------")
return true
}

永远不会被调用。我试过覆盖但它给出了一个错误:

Method does not override any method from its superclass

这很奇怪,因为 UITableViewController 继承自 UIScrollView。我还尝试将 UIScrollViewDelegate 添加到类定义中,但当然它会给出另一个错误,这是多余的。


额外信息

声明如下:

class Settings: UITableViewController, UITextFieldDelegate { ...

tableView 由静态单元格组成

细胞:

  • 有些是空的:其中 UserInteractionEnable = false
  • 有些按钮带有文本字段:我希望这些按钮突出显示。用户交互启用 = 真。按钮操作由 .TouchUpInside
  • 调用
  • 有些有标签和支票图像:它们的操作在 didSelectRowAtIndexPath 中被调用,这将更改标签颜色和支票图像

Maybe it is relevant to say that when user clicks on any cell didSelectRowAtIndexPath it will call a function to dismiss the keyboard.

最佳答案

您试图子类化错误的类,这就是它不起作用的原因。您必须继承 UITableView 类本身,而不是 UITableViewController。您可以尝试以下操作吗?

- 第一

子类化 TableView 类以覆盖 touchesShouldCancelInContentView 函数。

class UIDraggableTableView: UITableView {

override func touchesShouldCancelInContentView(view: UIView) -> Bool {
if (view.isKindOfClass(UIButton)) {
return true
}
return super.touchesShouldCancelInContentView(view)
}
}

- 第二

在您的 TableViewController 类中,当调用 viewDidLoad() 时,在 super.viewDidLoad() 之后附加以下内容:

self.tableView = DraggableTableView()

这应该可以解决您的问题。

部分答案摘自 this StackOverflow post .

关于swift - 当我设置 delaysContentTouches = false 时,带有静态单元格的表格不会滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35206221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com