IOS:第一次点击在加载视图后不起作用
IOS: first tap not working just after loading view
我最近注意到我的每个应用程序视图都有一个特定的 bug/behaviour:如果用户在视图出现时在 UI 组件上点击得太快,则点击会被忽略。如果用户在点击之前稍等片刻,点击就会起作用。
Storyboard 用于故事板,点击手势识别器在 UIImageview 上并使用 IOS 10.2。
通过不同的论坛,我阅读了以下选项:
- 在主线程中嵌套"present view controllers"的调用
- 在 presentviewcontroller 之前调用 CFRunLoopWakeup
- 以编程方式添加 TapGesturerecognizer
- 更改 "delays touches end" 和 "delays touches began"
的状态
- 禁用 3d 触摸选项,因为据报道在其他应用程序中也会出现类似的症状
以上均未成功。
有人会在视图加载后第一次点击时遇到类似问题吗?
[更新:我意识到这种不当行为并非特定于此应用。要尝试的两个测试:
为 iPhone 和两个视图控制器控制器 A 和控制器 B 创建一个 xCode 项目。两个按钮:控制器 A 视图上的按钮转到控制器 B 视图和返回控制器 B 视图中的按钮返回到控制器 A 视图。点击以从视图 A 转到 B,在 B 中点击返回并立即尝试点击按钮转到 B。第一次点击也不起作用。
进入 iPhone 的设置。点击通知。按设置返回主设置屏幕,立即点击返回通知。如果足够快,第一次点击不起作用。第二次点击有效或在第一次点击之前稍等片刻。
现在的问题是:这似乎是 iPhone 应用程序中的常见问题。你知道某处是否有共同的设置吗?或者这是给定 IOS 版本的常见错误?
]
史蒂芬
这是一个普遍的问题(切换view controller的那一刻,第一次点击会被忽略),但这不是一个只因为切换view controller的动画还没有完成就会发生的bug。如果你将动画设置为 false ,那么视图控制器可以立即响应你的点击,无论多快(反正比你的手快):)
我最近注意到我的每个应用程序视图都有一个特定的 bug/behaviour:如果用户在视图出现时在 UI 组件上点击得太快,则点击会被忽略。如果用户在点击之前稍等片刻,点击就会起作用。
Storyboard 用于故事板,点击手势识别器在 UIImageview 上并使用 IOS 10.2。
通过不同的论坛,我阅读了以下选项:
- 在主线程中嵌套"present view controllers"的调用
- 在 presentviewcontroller 之前调用 CFRunLoopWakeup
- 以编程方式添加 TapGesturerecognizer
- 更改 "delays touches end" 和 "delays touches began" 的状态
- 禁用 3d 触摸选项,因为据报道在其他应用程序中也会出现类似的症状
以上均未成功。 有人会在视图加载后第一次点击时遇到类似问题吗?
[更新:我意识到这种不当行为并非特定于此应用。要尝试的两个测试:
为 iPhone 和两个视图控制器控制器 A 和控制器 B 创建一个 xCode 项目。两个按钮:控制器 A 视图上的按钮转到控制器 B 视图和返回控制器 B 视图中的按钮返回到控制器 A 视图。点击以从视图 A 转到 B,在 B 中点击返回并立即尝试点击按钮转到 B。第一次点击也不起作用。
进入 iPhone 的设置。点击通知。按设置返回主设置屏幕,立即点击返回通知。如果足够快,第一次点击不起作用。第二次点击有效或在第一次点击之前稍等片刻。
现在的问题是:这似乎是 iPhone 应用程序中的常见问题。你知道某处是否有共同的设置吗?或者这是给定 IOS 版本的常见错误? ]
史蒂芬
这是一个普遍的问题(切换view controller的那一刻,第一次点击会被忽略),但这不是一个只因为切换view controller的动画还没有完成就会发生的bug。如果你将动画设置为 false ,那么视图控制器可以立即响应你的点击,无论多快(反正比你的手快):)