【问题标题】:How to send message to all subviews of a certain kind in view IOS?如何在视图IOS中向某种类型的所有子视图发送消息?
【发布时间】:2014-09-04 15:44:42
【问题描述】:

嘿,伙计们,我在一个 boardView 中添加了 64 个迷你视图。我想向这些子视图中的每一个发送消息(调用实例方法)以更新其状态,而无需在父视图中使用一个额外的数组来保存这些视图。父视图是我自己的 UIView 子类。有没有办法全部引用它们?有什么建议吗? 提前致谢。

【问题讨论】:

  • 使用观察者模式可能更简洁。去谷歌上查询。或者尝试使用 NSNotificationCenter。

标签: ios objective-c view uikit subview


【解决方案1】:

我无法想象您为什么不想将所有这些分组到一个数组中,但是您可以循环浏览视图并使用isKindOfClass: 来检查它们。例如:

for (UIView *subview in self.view.subviews)
{
    if ([subview isKindOfClass:[MyCustomClass class]])
    {
        // Do stuff
    }
}

【讨论】:

  • 如果subview 有一个UIView * 类型而不是id 会更好,因为subviews 方法提供了一个UIView 对象数组。
  • 好电话,我只是想用它来真正通用。我更新了我的答案以使用UIView *
  • 很好,谢谢大家,这很完美,我也做了一个演员表 [(myclassCell*)IteratedSubView update];它就像一个魅力:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-13
  • 2018-02-17
  • 1970-01-01
相关资源
最近更新 更多