Sha*_*rma 188
如果你使用Swift 2.0+
self.yourView.layer.borderWidth = 1
self.yourView.layer.borderColor = UIColor(red:222/255, green:225/255, blue:227/255, alpha: 1).cgColor
Run Code Online (Sandbox Code Playgroud)
Par*_*shi 85
在Swift 4中,您可以使用下面的代码将边框颜色和宽度设置为UIControls.
let yourColor : UIColor = UIColor( red: 0.7, green: 0.3, blue:0.1, alpha: 1.0 )
yourControl.layer.masksToBounds = true
yourControl.layer.borderColor = yourColor.CGColor
yourControl.layer.borderWidth = 1.0
Run Code Online (Sandbox Code Playgroud)
<Swift 4,您可以使用以下代码设置UIView的边框宽度和边框颜色.
yourView.layer.borderWidth = 1
yourView.layer.borderColor = UIColor.red.cgColor
Run Code Online (Sandbox Code Playgroud)
Sup*_*dar 15
使用@IBDesignable和@IBInspectable也可以这样做.
它们是可重用的,可以从Interface Builder轻松修改,并且更改会立即反映在Storyboard中
使故事板中的对象符合特定类
代码片段:
@IBDesignable
class CustomView: UIView{
@IBInspectable var borderWidth: CGFloat = 0.0{
didSet{
self.layer.borderWidth = borderWidth
}
}
@IBInspectable var borderColor: UIColor = UIColor.clear {
didSet {
self.layer.borderColor = borderColor.cgColor
}
}
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
}
}
Run Code Online (Sandbox Code Playgroud)
允许从Interface Builder轻松修改:
ikb*_*bal 13
Swift 5.2 , UIView+扩展
extension UIView {
public func addViewBorder(borderColor:CGColor,borderWith:CGFloat,borderCornerRadius:CGFloat){
self.layer.borderWidth = borderWith
self.layer.borderColor = borderColor
self.layer.cornerRadius = borderCornerRadius
}
}
Run Code Online (Sandbox Code Playgroud)
您使用了此扩展程序;
yourView.addViewBorder(borderColor: #colorLiteral(red: 0.6, green: 0.6, blue: 0.6, alpha: 1), borderWith: 1.0, borderCornerRadius: 20)
Run Code Online (Sandbox Code Playgroud)
Sha*_*dul 12
您可以编写扩展名以将其与所有UIViews一起使用,例如.UIButton,UILabel,UIImageView等您可以根据您的要求自定义我的以下方法,但我认为它适合您.
extension UIView{
func setBorder(radius:CGFloat, color:UIColor = UIColor.clearColor()) -> UIView{
var roundView:UIView = self
roundView.layer.cornerRadius = CGFloat(radius)
roundView.layer.borderWidth = 1
roundView.layer.borderColor = color.CGColor
roundView.clipsToBounds = true
return roundView
}
}
Run Code Online (Sandbox Code Playgroud)
用法:
btnLogin.setBorder(7, color: UIColor.lightGrayColor())
imgViewUserPick.setBorder(10)
Run Code Online (Sandbox Code Playgroud)
迅捷3
func borderColor(){
self.viewMenuItems.layer.cornerRadius = 13
self.viewMenuItems.layer.borderWidth = 1
self.viewMenuItems.layer.borderColor = UIColor.white.cgColor
}
Run Code Online (Sandbox Code Playgroud)
我们可以为它创建方法。只需使用它即可。
public func createBorderForView(color: UIColor, radius: CGFloat, width: CGFloat = 0.7) {
self.layer.borderWidth = width
self.layer.cornerRadius = radius
self.layer.shouldRasterize = false
self.layer.rasterizationScale = 2
self.clipsToBounds = true
self.layer.masksToBounds = true
let cgColor: CGColor = color.cgColor
self.layer.borderColor = cgColor
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
134695 次 |
| 最近记录: |