【问题标题】:IOS: What is the correct way to change a view from the class of a different view?IOS:从不同视图的类中更改视图的正确方法是什么?
【发布时间】:2015-10-03 22:13:12
【问题描述】:

我设置了 UIImageView 子类(快速),因此我可以访问 touchesBegan/touchesMoved/touchesEnded。

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

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

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

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

【问题讨论】:

    标签: ios swift uiviewcontroller uiimageview swift2


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-07
      • 2015-02-22
      • 2018-05-30
      • 1970-01-01
      • 1970-01-01
      • 2017-03-03
      相关资源
      最近更新 更多