按标签查找对象(在swift中)

时间:2016-06-17 19:21:28

标签: ios swift uiimageview tags uiimage

我有一个变量@IBOutlet var ImageViews: [UIImageView]!,可以从故事板中保存我的36个UIImages。我已将标签设置为一个随机图像;

ImageViews[5].tag = 5

我希望能够仅通过标签找到此图像并更改其背景颜色。

(带有标记5的ImageViews中的图像)

HERE'S THE CODE IN C#也许你可以翻译它?我不能。

3 个答案:

答案 0 :(得分:4)

let imageView = ImageViews.filter { $0.tag == 5 }.first
imageView?.backgroundColor = UIColor.redColor()

答案 1 :(得分:1)

试试这个:

extension UIView {
    func findSubview(withTag tag: Int) -> UIView? {
        for subview in self.subviews {
            if subview.tag == tag {
                return subview
            }
        }
        return nil
    }
}

它会像这样使用:

imageView.findSubview(withTag: 5)!

答案 2 :(得分:0)

extension Array where Element: UIView {
    func viewWithTag(tag: Int) -> UIView? {
        return filter { $0.tag == tag }.first
    }
}

let subview = ImageViews.viewWithTag(5)

注意:对类,方法,变量等使用驼峰大小写。 https://github.com/raywenderlich/swift-style-guide