我设置了一个UIImageView
子类(在swift中),这样我就可以访问touchesBegan/touchesMoved/touchesEnded。
当调用其中一个方法时,我需要更改不同的已加载 View 的属性。
在我看来,我现在需要访问事件 View Controller 才能设置另一个 View 的属性。有没有更好的方法来解决这个问题(例如在 View Controller 中调用事件方法)?
请注意,我是 iOS 新手,对事件系统还不是很熟悉,因为我发现的大多数信息都是用 Objective C 而不是 Swift 编写的。 (别担心,我正在查看 Apple 的文档。)
另外,不,我无法将 UIImageView
更改为 UIButton
。即使我更改为 UIButton
,我也需要访问各个 touchesBegan
等方法,同样的问题仍然存在。
最佳答案
如果我的理解正确,您需要从 UIImageVIew
引用 UIViewController
来推送/呈现新的 UIViewController
。您有几个选择:
从 ImageView 触发
NSNotification
并在 View Controller 上有一个事件监听器。在 ImageView 上创建一个委托(delegate),该委托(delegate)在 View Controller 上触发选择器。
在 ImageView 上保留对 View Controller 的引用,并从具有该引用的 ImageView 中推送一个新的 View Controller 。
在应用程序窗口的
rootViewController
上以模态方式呈现一个新的 View Controller 。
关于IOS:从不同 View 的类更改 View 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32928031/