IOS:从不同视图的 class 更改视图的正确方法是什么?
IOS: What is the correct way to change a view from the class of a different view?
我设置了 UIImageView
子类(在 swift 中),因此我可以访问 touchesBegan/touchesMoved/touchesEnded。
调用这些方法之一时,我需要更改 属性 不同的加载视图。
在我看来,我现在需要访问活动视图控制器才能设置其他视图的属性。有没有更好的方法来解决这个问题(比如在视图控制器中调用事件方法)?
请注意,我是 iOS 的新手,我对事件系统还不是很熟悉,因为我发现的大多数信息都是用 Objective C 而不是 Swift. (别担心,我正在查看 Apple 的文档。)
此外,不,我无法将 UIImageView
更改为 UIButton
。即使我更改为 UIButton
,我也需要访问个别 touchesBegan
等方法,同样的问题仍然存在。
如果我的理解正确,您需要将 UIViewController
从 UIImageVIew
引用到 push/present 一个新的 UIViewController
。您有几个选择:
从图像视图触发一个 NSNotification
并在视图控制器上有一个事件侦听器。
在图像视图上创建一个委托,在视图控制器上触发一个选择器。
在图像视图上保留对视图控制器的引用,并使用该引用从图像视图中推送一个新的视图控制器。
在应用程序 window 的 rootViewController
.
上模态呈现一个新的视图控制器
我设置了 UIImageView
子类(在 swift 中),因此我可以访问 touchesBegan/touchesMoved/touchesEnded。
调用这些方法之一时,我需要更改 属性 不同的加载视图。
在我看来,我现在需要访问活动视图控制器才能设置其他视图的属性。有没有更好的方法来解决这个问题(比如在视图控制器中调用事件方法)?
请注意,我是 iOS 的新手,我对事件系统还不是很熟悉,因为我发现的大多数信息都是用 Objective C 而不是 Swift. (别担心,我正在查看 Apple 的文档。)
此外,不,我无法将 UIImageView
更改为 UIButton
。即使我更改为 UIButton
,我也需要访问个别 touchesBegan
等方法,同样的问题仍然存在。
如果我的理解正确,您需要将 UIViewController
从 UIImageVIew
引用到 push/present 一个新的 UIViewController
。您有几个选择:
从图像视图触发一个
NSNotification
并在视图控制器上有一个事件侦听器。在图像视图上创建一个委托,在视图控制器上触发一个选择器。
在图像视图上保留对视图控制器的引用,并使用该引用从图像视图中推送一个新的视图控制器。
在应用程序 window 的
rootViewController
. 上模态呈现一个新的视图控制器