代码之家  ›  专栏  ›  技术社区  ›  user979331

屏幕全宽快速uiimage

  •  0
  • user979331  · 技术社区  · 6 年前

    我有这样的ui图像:

    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")
        }
    
    }
    
    3 回复  |  直到 6 年前
        1
  •  2
  •   Alexey Kudlay    6 年前
    let imageView = UIImageView(image: image!)
    imageView.contentMode = .scaleAspectFill
    imageView.frame = self.view.bounds
    imageView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    self.view.addSubview(imageView)
    
        2
  •  2
  •   morenoadan22    6 年前

    你必须把你的 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]))
    
        3
  •  1
  •   Teetz    6 年前

    你想操纵 UIImageView 而不是ContentMode。

    试试这个:

    let imageView = UIImageView(image: image!)
    
    imageView.frame = self.view.frame
    imageView.contentMode = .scaleToFill
    
    self.view.addSubview(imageView)