繁体   English   中英

iOS:从其他视图的类更改视图的正确方法是什么?

[英]IOS: What is the correct way to change a view from the class of a different view?

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

当调用这些方法之一时,我需要更改另一个已加载视图的属性。

在我看来,我现在将需要访问活动视图控制器以设置另一个视图的属性。 有没有更好的方法可以解决此问题(例如在视图控制器中调用的事件方法)?

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

另外,不,我不能将UIImageView更改为UIButton 即使更改为UIButton ,我也需要访问各个touchesBegan等方法,并且相同的问题仍然存在。

如果我对您的理解正确,则需要从UIImageVIew引用UIViewController来推送/呈现新的UIViewController 您有几种选择:

  1. 从图像视图NSNotification ,并在视图控制器上具有事件侦听器。

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

  3. 在图像视图上保留对视图控制器的引用,然后使用该引用从图像视图中推送新的视图控制器。

  4. 在应用程序窗口的rootViewController上以模态形式呈现一个新的视图控制器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM