프로그래밍 방식으로 UIView의 사용자 정의 테두리 색상을 설정하는 방법은 무엇입니까?
Swift에서 프로그래밍 방식으로 UIView의 사용자 정의 테두리 색상을 설정하려고합니다.
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
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
<Swift 4 , 아래 코드를 사용하여 UIView의 테두리 너비와 테두리 색상을 설정할 수 있습니다.
yourView.layer.borderWidth = 1
yourView.layer.borderColor = UIColor.red.cgColor
@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()
}
}
Interface Builder에서 쉽게 수정할 수 있습니다.
You can write an extension to use it with all the UIViews eg. UIButton, UILabel, UIImageView etc. You can customise my following method as per your requirement, but I think it will work well for you.
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
}
}
Usage:
btnLogin.setBorder(7, color: UIColor.lightGrayColor())
imgViewUserPick.setBorder(10)
swift 3
func borderColor(){
self.viewMenuItems.layer.cornerRadius = 13
self.viewMenuItems.layer.borderWidth = 1
self.viewMenuItems.layer.borderColor = UIColor.white.cgColor
}
Write the code in your viewDidLoad()
self.view.layer.borderColor = anyColor().CGColor
And you can set Color
with RGB
func anyColor() -> UIColor {
return UIColor(red: 0.0/255.0, green: 0.0/255.0, blue: 0.0/255.0, alpha: 1.0)
}
Learn something about CALayer
in UIKit
swift 3.0
self.uiTextView.layer.borderWidth = 0.5
self.txtItemShortDes.layer.borderColor = UIColor(red:205.0/255.0, green:205.0/255.0, blue:205.0/255.0, alpha: 1.0).cgColor
We can create method for it. Simply use it.
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
}
Swift 3.0
groundTrump.layer.borderColor = UIColor.red.cgColor
Swift 5.2, UIView+Extension
extension UIView {
public func addViewBorder(borderColor:CGColor,borderWith:CGFloat,borderCornerRadius:CGFloat){
self.layer.borderWidth = borderWith
self.layer.borderColor = borderColor
self.layer.cornerRadius = borderCornerRadius
}
}
You used this extension;
yourView.addViewBorder(borderColor: #colorLiteral(red: 0.6, green: 0.6, blue: 0.6, alpha: 1), borderWith: 1.0, borderCornerRadius: 20)
'developer tip' 카테고리의 다른 글
Dreamweaver에서 코드 서식을 자동으로 지정할 수 있습니까? (0) | 2020.09.07 |
---|---|
판다 : 설정 번호. (0) | 2020.09.07 |
Volley Request에서 사용자 지정 헤더를 설정하는 방법 (0) | 2020.09.06 |
덮어 쓰지 않고 파일 복사 (0) | 2020.09.06 |
UIButton이 콘텐츠 모드 설정을 수신하지 않습니까? (0) | 2020.09.06 |