UIImageView以编程方式创建,然后旋转手机?

时间:2016-05-15 18:03:02

标签: swift uiimageview rotation

我想按照比例创建图像即使在旋转设备时也能显示。怎么了?

class PlakatVC: UIViewController {
    var url:String!

    override func viewDidLoad() {
        super.viewDidLoad()
        let imgURL: NSURL = NSURL(string: url)!
        let request: NSURLRequest = NSURLRequest(URL: imgURL)
        let session = NSURLSession.sharedSession()
        let task = session.dataTaskWithRequest(request) {
            (data, response, error) -> Void in
            if (error == nil && data != nil) {
                func display_image() {
                    let imageView = UIImageView(image: UIImage(data: data!))
                    imageView.frame = self.view.frame
                    imageView.contentMode = .ScaleAspectFit
                    self.view.addSubview(imageView)
                }
                dispatch_async(dispatch_get_main_queue(), display_image)
            }
        }
        task.resume()
    }
}

人像:

Portrait

风景:

Landscape

1 个答案:

答案 0 :(得分:0)

使用自动布局使UIImageView填充view

这样,当设备旋转时,图像视图将填满设备的整个宽度。

目前,图像视图框架在纵向模式下等于视图的框架,当设备处于横向模式时,图像视图的框架不会更新。这就是图像粘在屏幕左侧的原因。