Swift-包含包含图像的UIImageView的Uiview



我正在尝试创建一个具有边框颜色/宽度的Uiview,添加一个具有不同边框颜色/宽度的子视图uiimageView,并且在所有这些内部也具有图像。因此,从本质上讲,我想要的是带有白色边框的图像,然后是蓝色边框。

现在,我只看到蓝色边界出现了。这是我在做的:

(在闭合内部,外观是Uiview)

        outerView.frame = cell.frame
        outerView.layer.borderColor = UIColor.blue.cgColor
        outerView.layer.borderWidth = 3.0
        outerView.layer.cornerRadius = outerView.frame.height / 2
        outerView.clipsToBounds = true
        outerView.backgroundColor = UIColor.clear
        let imageView = UIImageView(frame: outerView.frame)
        imageView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
        self?.controller?.setupImageView(imageView, cell: cell)
        outerView.addSubview(imageView)

setupImageView:)

let frame = imageView.frame
imageView.image = imageConstants.imageToDisplay
imageView.clipsToBounds = true
imageView.layer.cornerRadius = frame.height / 2
imageView.layer.borderWidth = 3.0
imageView.layer.borderColor = UIColor.white.cgColor

如果我将其更改为关闭,那么封闭只是将我返回一个uiimageView类型(outeview是一个uiimageView),然后直接传递到setupimageView(imageView:cell:cell::)函数,我能够与白色一起看到映像边界。

我不确定要显示两者都缺少什么。

预先感谢您!

outeview和您的imageView具有相同的框架(这意味着它们具有相同的高度和相同的宽度)。

尝试以下操作:

let outerFrame = outerView.frame
let frame = CGRect(x: outerFrame.origin.x - 3, y: outerFrame.origin.y - 3, width: outerFrame.size.width -6, height: outerFrame.size.height -6)

3,因为 borderWidth = 3.0

和:

let imageView = UIImageView(frame: frame)

最新更新