[英]Swift UIImage full width of screen
我有這樣的UIImage:
let imageView = UIImageView(image: image!)
imageView.contentMode = .scaleToFill
self.view.addSubview(imageView)
我想做的是使圖像全屏顯示,我嘗試過scaleToFill,scaleAspectFit和scaleAspectFill兩者都不做……我在做什么錯?
這是我的完整代碼:
getLandGradingImage(image: imageData!) { result in
let image = UIImage(data: result)
if image != nil {
let imageView = UIImageView(image: image!)
imageView.contentMode = .scaleAspectFit
//Add Image to view
self.view.addSubview(imageView)
} else {
self.customAlert(title: "Error", message: "Unable to get images")
}
}
let imageView = UIImageView(image: image!)
imageView.contentMode = .scaleAspectFill
imageView.frame = self.view.bounds
imageView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.view.addSubview(imageView)
您必須將UIImageView
框架設置為要填充的區域的大小。 您可以通過顯式設置框架或使用自動布局(推薦)來做到這一點。
方法1:
let imageView = UIImageView(image: image!)
imageView.frame = self.view.frame;
imageView.contentMode = .scaleAspectFit
//Add Image to view
self.view.addSubview(imageView)
方法2:
let imageView = UIImageView(image: image!)
imageView.contentMode = .scaleAspectFit
//Add Image to view
self.view.addSubview(imageView)
self.view.translatesAutoresizingMaskIntoConstraints = false
self.view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-0-[subview]-0-|", options: .directionLeadingToTrailing, metrics: nil, views: ["subview": imageView]))
self.view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-0-[subview]-0-|", options: .directionLeadingToTrailing, metrics: nil, views: ["subview": imageView]))
您要操縱UIImageView
的框架,而不是contentMode。
嘗試這個:
let imageView = UIImageView(image: image!)
imageView.frame = self.view.frame
imageView.contentMode = .scaleToFill
self.view.addSubview(imageView)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.