我有一个 DayViews 的导出集合,它们是自定义 UIView 对象。在我的“ClientTaskVC”中,我希望能够引用 DayView 并能够进入并获取其 UIElement,每个 DayView 都有一个 dayLabel、dateLabel 和 checkmarkImg。我不确定将所有标签/ ImageView 放在导出集合中是否是一个聪明的主意,因为它会更难跟踪并且看起来不对。在我的第一张图片中,我详细说明了这在代码中的样子,并显示了我的 View Controller 和我的所有 View 作为引用。
我尝试做的是将 socket 添加到所有标签和图像的实际 DayView 自定义类,但是当我连接 socket 时,它只能连接到一个 DayView,并且不能重复用于屏幕上的每个 DayView 对象,我不认为正确的方法是在自定义 DayView 类中创建一个 socket 集合来引用每个 View 标签,所以现在我不确定如何解决这个问题
理想情况下,我想要的是将我的导出集合放在“ClientTaskVC”中:
@IBOutlet var dayViews: [DayView]!
并像这样调用它的 UIElements(例如:dayViews[i].dayLbl.text):
for i in 0 ..< dayViews.count {
let date = Date().addingTimeInterval(TimeInterval(86400 * i))
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd"
// See how the dayViews label, 'dayLbl' is being referenced
dayViews[i].dayLbl.text = dateFormatter.string(from: date)
dayViews[i].dayLbl.textAlignment = .center
}
如果您能提供有关如何使用奥特莱斯系列执行此操作的任何帮助,我们将不胜感激。谢谢。
最佳答案
连接整个 View 作为导出:
@IBOutlet weak var dayView: UIView!
您可以像这样遍历所有 DayView
的 subview :
var dayViewSubviews: UIView = []
for subView in dayView {
dayViewSubviews.append(subView)
}
关于ios - Swift 4 - 如何从 socket 集合中的自定义 UIView 获取 UI 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47541322/