Swift:我怎样才能检测到UIView中的元素?

时间:2015-11-08 05:27:39

标签: ios swift uiview

我想知道两件事(我是Swift初学者):

1)有没有办法检测或定位元素(子元素)在给定UIView内。

2)UIView中的元素是否存储在数组中?

举一个例子,假设我有UIView名为parentView,它位于ImageView(称为imageChildre)和LabelView内(称为labelChildre

我如何针对孩子?

感谢您的帮助

2 个答案:

答案 0 :(得分:13)

  1. 这样的东西?你可以相应地改变条件。

    def index
      @events = Event.where('start_date >= ?', 
      Date.today).order("start_date ASC", "start_time ASC").paginate(page: 
      params[:page], per_page: 5)
    end
    
  2. for subview in parentView.subviews { if let item = subview as? UIImageView { //this is image view } } parentView.subviews

  3. 内的一系列观点

答案 1 :(得分:2)

你问:

  

1)有没有办法检测或定位元素(子元素)在给定UIView内。

通常,在第一次设计视图时,会将outlets连接到Interface Builder中的这些子视图。

或者,如果以编程方式执行此操作,则在编程将其添加到视图时,您将保留对视图的各个子视图的引用。

我们需要知道您是如何构建此视图及其子视图以进一步提供建议的。

  

2)UIView中的元素是否存储在数组中?

是的,每个UIView都有一个名为subviews的属性,它是该视图的所有子视图。但是你通常不会使用它来访问子视图,而是使用回答第一个问题时概述的技术。