【发布时间】:2019-05-03 05:41:21
【问题描述】:
在我的 ViewController 中,我有 12 个自定义 UIViews(命名为 CardView)。
我正在尝试以编程方式遍历ViewController 的子视图以找到自定义视图(CardView)并进行一些配置。以下是我计算 CardView 数量的代码。
private func cardCount()->Int{
var count = 0
for subview in self.view.subviews{
if subview is CardView{
count = count + 1
}
}
return count
}
但是,它返回“0”,原因是我的观点嵌入在 UIStackViews 中。我在一个垂直对齐的视图中有 3 个水平对齐的堆栈视图-
如何以编程方式获取我的 CardViews。任何帮助,将不胜感激。
【问题讨论】:
-
使用属性排列子视图而不是子视图
-
您可以将collectionView用于这种UI。这是更好的方法
-
亲爱的,我认为您可以一次又一次地循环访问卡片视图
-
第一个循环用于垂直堆栈视图,第二个用于水平堆栈视图,最后一个用于访问卡片
-
我认为,您应该通过使用集合视图项内的堆栈视图或表格视图单元格来更改此处的 ui 呈现逻辑。但是为了在这里回答您的查询,您可以创建容器
stack view的实例并迭代子stack views。这样,您将获得个人stack views,第二次迭代将针对个人stack views,以获得subviews。
标签: ios swift uiview uiviewcontroller uistackview