Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Swift在UIImage中绘制双边框线?_Swift_Uiimage_Border - Fatal编程技术网

如何使用Swift在UIImage中绘制双边框线?

如何使用Swift在UIImage中绘制双边框线?,swift,uiimage,border,Swift,Uiimage,Border,我试着在Swift中寻找这样的“双边界”技巧。我有一种感觉,这可能像UIImage中的“双边界” 如果您知道代码,请告诉我。:) 我认为可以在UIImageView和UIImage之间添加1个圆(UIView)作为子视图。例如,您可以使用外侧拐角半径的灰色颜色初始化UIImageView。然后,添加圆形UIView,最后添加UIImage 或者,也可以将UIImage添加到圆形UIView之前(具有透明背景) 我想您可以在这里找到类似的代码:您需要将borderColor(黑色)和corner

我试着在Swift中寻找这样的“双边界”技巧。我有一种感觉,这可能像UIImage中的“双边界”


如果您知道代码,请告诉我。:)

我认为可以在UIImageView和UIImage之间添加1个圆(UIView)作为子视图。例如,您可以使用外侧拐角半径的
灰色
颜色初始化UIImageView。然后,添加圆形UIView,最后添加UIImage

或者,也可以将UIImage添加到圆形UIView之前(具有透明背景)


我想您可以在这里找到类似的代码:

您需要将borderColor(黑色)和cornerRadius添加到UIImageView的默认层。 除此之外,您还必须在UIImageView中添加另一个子层,其borderColor为灰色

imageView.layer.borderWidth = 4.0
imageView.layer.borderColor = UIColor.gray.cgColor
imageView.layer.cornerRadius = imageView.frame.width / 2

let borderLayer = CALayer()
borderLayer.frame = imageView.bounds
borderLayer.borderColor = UIColor.black.cgColor
borderLayer.borderWidth = 14.0
borderLayer.cornerRadius = borderLayer.frame.width / 2
imageView.layer.insertSublayer(borderLayer, above: imageView.layer)
请参阅随附的操场演示。

您只需拍摄UIView并将UIImageView添加到其中即可。 清除要清除的UIView的颜色

这就是我使用故事板所做的

  • 在其中添加了UIView和UIImageView,视图的颜色设置为clear,图像视图位于所有侧面的15个点处。请根据您的要求进行更改(参见图1)

  • 这是视图控制器代码(参见图2)

  • 输出(参见图3)

  • 注意:虽然您可以根据需要更改颜色和边框宽度等,但这只是一个基本想法


    检查此项添加子层比添加子视图更有效。这非常有趣!非常感谢。