ios UIImage 超出 UIImageView 边框

ios UIImage going outside of UIImageView Border

此处黑色边框显示 UIImageView 的父 UIView,红色边框显示 UIImageView 我正在从服务器下载图像,但图像超出了 UIImageView 区域,如图所示。我正在以编程方式进行任何帮助,将不胜感激。我在下面添加代码块

let bottomView : UIView = UIView(frame: CGRect(x : 10, y: stackView.height, width: view.width * 0.75, height: view.width * 0.75 ))

view.addSubview(bottomView)

bottomView.layer.borderColor = UIColor.black.cgColor
bottomView.layer.borderWidth = 1

bottomView.translatesAutoresizingMaskIntoConstraints = false
bottomView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
bottomView.topAnchor.constraint(equalTo: stackView.bottomAnchor, constant: -20).isActive = true
bottomView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 10).isActive = true
bottomView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -10).isActive = true
bottomView.widthAnchor.constraint(equalToConstant: view.width * 0.75).isActive = true
bottomView.heightAnchor.constraint(equalToConstant: view.width * 0.75).isActive = true

let imageView : UIImageView = UIImageView(frame : CGRect(x: 0, y: 0, width: 250, height: 250 ))

 imageView.layer.borderColor = UIColor.red.cgColor
 imageView.layer.borderWidth = 1
 bottomView.addSubview(imageView)

 imageView.translatesAutoresizingMaskIntoConstraints = false
 imageView.centerXAnchor.constraint(equalTo: bottomView.centerXAnchor).isActive = true
 imageView.centerYAnchor.constraint(equalTo: bottomView.centerYAnchor).isActive = true
 imageView.widthAnchor.constraint(equalToConstant: 250).isActive = true
 imageView.heightAnchor.constraint(equalToConstant: 250).isActive = true
 imageView.downloadedFrom(link: (sizeResult?.results![0].data?.size_Chart?.mobile_image?.imageValue?.imageMain?.url)!, contentMode : .scaleAspectFill)

这个 bottomView 将添加 UIAlertViewController。

This image shows ** contentMode is Aspect Fit **

你可以用clip绑定你的image view,绝对可以解决你的问题。 Swift:

override func viewDidLoad() {
    super.viewDidLoad()

    self.bottomView.clipsToBounds = false
    self.imageView.clipsToBounds = true
}

代码的最后一行应该是这样的 -

imageView.downloadedFrom(link: (sizeResult?.results![0].data?.size_Chart?.mobile_image?.imageValue?.imageMain?.url)!, contentMode : .scaleAspectFit)

imageView?.contentMode = .scaleAspectFit

self.imageView.clipsToBounds = 真

对我有用..

设置uiimageview的属性和内容模式:

self.imageView.clipsToBounds = true
self.imageView.contentMode = .scaleAspectFit