ios - 如何将变量的值用作 UILabel?

标签 ios swift

我有 6 个 UILabel 作为 IBOutlet,名为 tutorialLabel1、tutorialLabel2 等...我想使用循环将它们全部放在前面。这是我的代码:

var tempLabel = "tutorialLabel"
for var i=1; i<=6; i++ {
    tempLabel = "tutorialLabel" + String(i)
    self.tempLabel.bringSubviewToFront(self.tempLabel)
}

但是返回错误

tempLabel is not a member of view.

我想我需要在这里使用 valueForKey 函数,但不确定如何在 Swift 中实现它。你能帮我写那行代码吗?

最佳答案

您可以使用 IBOutletCollection,而不是尝试动态创建引用标签的名称:

@IBOutlet var viewsToBringToFront: [UIView]!

您可以将所有想要放在前面的 View 连接到该集合,然后简单地循环它以将它们放在前面:

for view in viewsToBringToFront {
    view.superview?.bringSubviewToFront(view)
}

关于ios - 如何将变量的值用作 UILabel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26847830/

相关文章:

ios - 如何将图像添加到uitableviewcell

javascript - 从 Objective C 执行 Javascript 代码

ios - 如何判断我是否使用同一项来填充多个 UICollectionViewCell?

arrays - 如何在 swift 函数中返回一个 inout(引用)?

swift - Xcode 找不到 cocoapods 模块

ios - 在变量上使用 POP 时,类没有初始值设定项

ios - Build 1.0.0 不包含正确的测试版权利。有关详细信息,请参阅 iTunes Connect 开发人员指南

ios - 是否可以使用 UIActivityViewController 将 Instagram Action 添加到事件表?

ios - 在 Objective c 和 Swift 中你怎么调用它?

ios - 在不同屏幕中重用 xib