我有一个UIImageView
子类(在swift中)设置,所以我可以访问touchesBegan / touchesMoved / touchesEnded。
当调用其中一个方法时,我需要更改另一个加载视图的属性。
在我看来,我现在需要访问活动视图控制器才能设置其他视图的属性。是否有更好的方法(例如视图控制器中调用的事件方法)?
请注意,我是iOS的新手,我对事件系统还不是很熟悉,因为我发现的大部分信息都是用Objective C编写的,而不是用Swift编写的。 (别担心,我正在浏览Apple的文档。)
另外,不,我无法将UIImageView
更改为UIButton
。即使我更改为UIButton
,我也需要访问单个touchesBegan
等方法,同样的问题仍然存在。
答案 0 :(得分:1)
如果我理解正确,您需要引用UIViewController
中的UIImageVIew
来推送/展示新UIViewController
。您有几个选择:
从图像视图中触发NSNotification
并在视图控制器上有一个事件监听器。
在图像视图上创建一个委托,在视图控制器上触发选择器。
在图像视图上保持对视图控制器的引用,并从具有该引用的图像视图中推送新的视图控制器。
在应用程序窗口的rootViewController
上模态显示一个新的视图控制器。