Tom*_*yer 7 delay touchesbegan ios swift
我正在制作一个自定义键盘,我的处境非常奇怪.
我注意到当我在UIView(inputView)的左后方(大约20个像素)处捕获事件touchesBegan时,我会在这里有一些延迟.我在touchesBegan中所做的任何动作都会比其他区域执行得慢.
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?)
{
self.keypop.hidden = false
}
override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
{
self.keypop.hidden = true
}
Run Code Online (Sandbox Code Playgroud)
这个问题会影响我的应用程序的性能.在这个例子中,当我触摸左后方时,我不会看到keypop出现因为self.keypop.hidden显示延迟了.
我不知道为什么,或者这是iOS 9的错误?我一直坚持这个麻烦一个星期.
这里的答案似乎修复了我们键盘中的相同问题:
UISystemGateGestureRecognizer和屏幕底部附近的延迟点击
使用以下代码:
override func viewDidAppear(animated: Bool) {
let window = view.window!
let gr0 = window.gestureRecognizers![0] as UIGestureRecognizer
let gr1 = window.gestureRecognizers![1] as UIGestureRecognizer
gr0.delaysTouchesBegan = false
gr1.delaysTouchesBegan = false
}
Run Code Online (Sandbox Code Playgroud)
小智 5
在我的情况下,我在CollectionView中使用touchBegan,当我点击它时,它会延迟触摸,只需添加以下代码即可
在Swift中,
self.collectionView.delaysContentTouches = false
/*delaysContentTouches applies to all UIScrollView instances.*/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1570 次 |
| 最近记录: |