gpt4 book ai didi

ios - UICollectionView 在按钮按下时无意滚动

转载 作者:行者123 更新时间:2023-12-01 16:39:04 24 4
gpt4 key购买 nike

我有一个 UIButton添加到 UICollectionViewCell ,通过一个调用方法的修饰事件,会产生一个 UIPopoverController ,与 Collection View 完全无关。

问题是当我按下这个按钮时,我的 UICollectionView稍微向下滚动。我似乎无法弄清楚为什么。在实际按下我的按钮之前调用滚动操作 - 所以我试图在调用的方法中阻止这种形式是徒劳的。

有没有人遇到过这个问题,或者有任何关于如何防止它发生的指示?

我曾尝试在按下时禁用 Collection View 上的滚动,但似乎按下时也会触发滚动 - 在滚动禁用之前。

最佳答案

要解决这个问题,你应该override func touchesShouldCancel首先,创建新类继承 UICollectionView , UITableView , UIScrollView .
有问题,您想取消 UICollectionView .
所以你让类继承UICollectionCiew第二,在func init你设置属性

self.delaysContentTouches = false
self.canCancelContentTouches = true
最后,您覆盖 func touchesShouldCancel可以取消触摸 View 种类
有问题,您想取消 UIButton触碰。
你在代码下面创建继承类
import UIKit

class TouchCancelCollectionView: UICollectionView {

override init(frame: CGRect, collectionViewLayout layout: UICollectionViewLayout) {
super.init(frame: frame, collectionViewLayout: layout)
self.delaysContentTouches = false
self.canCancelContentTouches = true
}

required init(coder aDecoder: NSCoder) {
fatalError()
}

override func touchesShouldCancel(in view: UIView) -> Bool {

if view.isKind(of: UIButton.self) {
return true
}

return super.touchesShouldCancel(in: view)
}
}

并使用它!

关于ios - UICollectionView 在按钮按下时无意滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25942512/

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