gpt4 book ai didi

ios - UITapGestureRecognizer 不(总是)为不同于 UIViewController 的目标工作

转载 作者:行者123 更新时间:2023-11-28 18:54:29 25 4
gpt4 key购买 nike

我有一个自定义 iOS Controller 类,它以编程方式将 UIButton 添加到给定的 UIView。该按钮有一个与之关联的 UITapGestureRecognizer,但它仅在自定义 Controller 是嵌入 View 和按钮的 UIViewController@property 时才有效.

参见 https://github.com/vasile/ios-gesture-recognizer/有 2 个按钮示例,第一个不记录点击手势。

XCode project example

谁能解释一下为什么?

最佳答案

一切都与对象的生命周期有关。为了在按钮被点击时成为按钮的目标,目标对象必须在按钮被点击时存在

第一个按钮(Nothing Will Happen)并非如此,因为目标只是一个局部变量,会立即消失。另一方面,其他目标对象是持久的。例如, View Controller 实例的属性会在 View Controller 存在时一直存在。 View Controller 通常生命周期很长;特别是,如果使用得当,如果按钮是 View Controller 自身 View 的 subview ,它的生命周期与按钮一样长!

关于ios - UITapGestureRecognizer 不(总是)为不同于 UIViewController 的目标工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35419485/

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