이 이미지를 이미지보기에 놓고 가로 세로 맞춤으로 설정하기 만하면됩니다. 자동 레이아웃으로 이미지보기 프레임이 올바르게 설정되지 않았습니다.
런타임시override func viewDidLoad() {
super.viewDidLoad()
let image = UIImage(named: "1-landscape")
let imageView = UIImageView(image: image)
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.backgroundColor = UIColor.blackColor()
imageView.contentMode = .ScaleAspectFit
view.addSubview(imageView)
var collector = [NSLayoutConstraint]()
collector.appendContentsOf(NSLayoutConstraint.constraintsWithVisualFormat("H:|-0-[imageView]-0-|", options: [], metrics: nil, views: ["imageView": imageView]))
collector.append(NSLayoutConstraint(item: imageView, attribute: .CenterY, relatedBy: .Equal, toItem: view, attribute: .CenterY, multiplier: 1, constant: 0))
view.addConstraints(collector)
}
는 뷰의 높이를 화상 높이의 50 %보다 크다. 왜 ??? 우리는 우리의 견해를 누워의 구식 방법을 사용하는 경우
는 아무 문제가 없다. 자동 레이아웃 또는 다른 것으로 단계를 잊어 버렸습니까?
override func viewDidLoad() {
super.viewDidLoad()
let image = UIImage(named: "1-landscape.png")!
let scaleFactor = image.size.height/image.size.width
let width = view.frame.size.width
let height = width * scaleFactor
let size = CGSize(width: width, height: height)
let imageView = UIImageView(image: image)
// imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.backgroundColor = UIColor.blackColor()
imageView.contentMode = .ScaleAspectFit
imageView.frame.size = size
imageView.center = view.center
view.addSubview(imageView)
// var collector = [NSLayoutConstraint]()
// collector.appendContentsOf(NSLayoutConstraint.constraintsWithVisualFormat("H:|-0-[imageView]-0-|", options: [], metrics: nil, views: ["imageView": imageView]))
// collector.append(NSLayoutConstraint(item: imageView, attribute: .CenterY, relatedBy: .Equal, toItem: view, attribute: .CenterY, multiplier: 1, constant: 0))
// view.addConstraints(collector)
}
후이
을 추가하지만, 같은 고정 된 높이를 설정함으로써 규모 측면 –