首页 > 解决方案 > 设置 IBOutlet 的属性

问题描述

我通过将一个拖放UIImageViewViewController.swift文件中来创建了一个出口

@IBOutlet weak var imageView: UIImageView!

我想将属性设置imageView

imageView.contentMode = .scaleToFill
imageView.clipsToBounds = true

这样做

@IBOutlet weak var imageView: UIImageView! {
    self.imageView.contentMode = .scaleToFill
    self.imageView.clipsToBounds = true
}

XCode 抱怨说

@IBOutlet 属性要求属性是可变的

我该怎么做呢?

标签: iosiphoneswiftxcode

解决方案


您正在尝试做的是一种完全可以接受的方式来设置 an@IBOutlet的属性......只是不要引用其他@IBOutlets 或主视图等,因为这可能会强制主视图比预期更早加载。

您只需将代码包装在一个didSet块中......</p>

@IBOutlet weak var imageView: UIImageView! {    
    didSet {
        imageView.contentMode = .scaleToFill
        imageView.clipsToBounds = true
    }    
}

推荐阅读