IOS:从不同视图的类更改视图的正确方法是什么?

时间:2015-10-03 22:13:12

标签: ios swift uiviewcontroller uiimageview swift2

我有一个UIImageView子类(在swift中)设置,所以我可以访问touchesBegan / touchesMoved / touchesEnded。

当调用其中一个方法时,我需要更改另一个加载视图的属性。

在我看来,我现在需要访问活动视图控制器才能设置其他视图的属性。是否有更好的方法(例如视图控制器中调用的事件方法)?

请注意,我是iOS的新手,我对事件系统还不是很熟悉,因为我发现的大部分信息都是用Objective C编写的,而不是用Swift编写的。 (别担心,我正在浏览Apple的文档。)

另外,不,我无法将UIImageView更改为UIButton。即使我更改为UIButton,我也需要访问单个touchesBegan等方法,同样的问题仍然存在。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您需要引用UIViewController中的UIImageVIew来推送/展示新UIViewController。您有几个选择:

  1. 从图像视图中触发NSNotification并在视图控制器上有一个事件监听器。

  2. 在图像视图上创建一个委托,在视图控制器上触发选择器。

  3. 在图像视图上保持对视图控制器的引用,并从具有该引用的图像视图中推送新的视图控制器。

  4. 在应用程序窗口的rootViewController上模态显示一个新的视图控制器。