我正在尝试在 Xcode 6.1 中以编程方式设置 UIImageView:
@IBOutlet weak var bgImage: UIImageView!
var image : UIImage = UIImage(named:"afternoon")!
bgImage = UIImageView(image: image)
bgImage.frame = CGRect(x: 0, y: 0, width: 100, height: 200)
view.addSubview(bgImage)
但 Xcode 正在用 bgImage = UIImageView(image: image)
说“expected declaration” 图片 “afternoon”
是 PNG,我的理解是 PNG 不需要XCode 6.1 中的扩展。
还尝试了 bgImage.image = UIImage(named: "afternoon")
,但仍然得到:
更新
好的,我已经将更新 UIImageView
的代码放入 viewDidLoad
函数中,但是 UIImageView
仍然没有显示图像(存在在基本目录中作为 afternoon.png):
@IBOutlet weak var bgImage: UIImageView!
@IBOutlet weak var dateLabel: UILabel!
@IBOutlet weak var timeLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
updateTime()
var timer = NSTimer()
let aSelector : Selector = "updateTime"
timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: aSelector, userInfo: nil, repeats: true)
var image : UIImage = UIImage(named:"afternoon")!
bgImage = UIImageView(image: image)
}
最佳答案
由于您已将 bgImage 分配并链接为 IBOutlet,因此无需将其初始化为 UIImageView...相反,您需要做的就是设置图像属性,如 bgImage.image = UIImage(named :“下午”)
。运行此代码后,图像显示正常,因为它已使用 socket 分配。
但是,如果它不是 socket 并且您还没有将它连接到 Storyboard/xib 文件上的 UIImageView 对象,那么您可以像下面这样...
class ViewController: UIViewController {
var bgImage: UIImageView?
override func viewDidLoad() {
super.viewDidLoad()
var image: UIImage = UIImage(named: "afternoon")!
bgImage = UIImageView(image: image)
bgImage!.frame = CGRectMake(0,0,100,200)
self.view.addSubview(bgImage!)
}
}
关于ios - 使用 Xcode 6.1/Swift 以编程方式将图像设置为 UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27039140/