Câu trả lời:
Đặt thuộc tính clipsToBounds
thành đúng
addMessageLabel.clipsToBounds = true
Tôi nghĩ cách tốt nhất để đặt bán kính góc là:
và chắc chắn rằng "Clip Subview" đã được chọn:
Kiểm tra "Clip Subview" bằng mã addMessageLabel.clipsToBounds = YES;
.
Hãy thử làm theo,
[[addMessageLabel layer] setCornerRadius:5.0f];
[[addMessageLabel layer] setMasksToBounds:YES];
//or
[addMessageLabel setClipsToBounds:YES];
Nhanh
addMessageLable.layer.cornerRadius = 5.0
addMessageLable.layer.masksToBounds = true
//or
addMessageLable.layer.clipsToBounds = true
Vấn đề của tôi là một chút khác nhau.
Trong khi tôi đã làm btn.clipsToBounds = true
Tôi đã không thiết lập làm:
btn.layer.cornerRadius = 20
Bởi vì tôi có kích thước màn hình khác nhau. Thay vào đó tôi làm theo câu trả lời này và đã làm:
override func layoutSubviews() {
seeMoreButton.layer.cornerRadius = seeMoreButton.bounds.size.height / 2
}
Nó không hoạt động vì tôi quên thêm super.layoutSubviews()
. Mã chính xác là:
override func layoutSubviews() {
super.layoutSubviews()
seeMoreButton.layer.cornerRadius = seeMoreButton.bounds.size.height / 2
}
Tôi đã thử cái dưới đây và tôi đã có một đầu ra thành công.
yourlabelname.layer.cornerRadius = 10.0f;
[yourlabelname setClipsToBounds:YES];
Có điều gì khác đang ngăn cản bạn?
clipsToBounds
đã được mặc định YES
, vì vậy dòng [yourlabelname setClipsToBounds:YES];
này không nằm trong mã gốc của tôi.
//works perfect in Swift 2.0 for a circular or round image
@IBOutlet var theImage: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
//Make sure the width and height are same
self.theImage.layer.cornerRadius = self.theImage.frame.size.width / 2
self.theImage.layer.borderWidth = 2.0
self.theImage.layer.borderColor = UIColor.whiteColor().CGColor
self.theImage.clipsToBounds = true
}
yourlabelname.layer.cornerRadius = yourlabelname.frame.size.width/2;
[yourlabelname setClipsToBounds:YES];
Hãy chắc chắn rằng bạn đang kiểm tra với mục tiêu Triển khai thích hợp.
Thêm mã sau đây làm tiện ích mở rộng cho UIView
//// Story board Extra Feature for create border radius, border width and border Color
extension UIView {
/// corner radius
@IBInspectable var borderColor: UIColor? {
set {
layer.borderColor = newValue!.cgColor
}
get {
if let color = layer.borderColor {
return UIColor(cgColor: color)
} else {
return nil
}
}
}
@IBInspectable var borderWidth: CGFloat {
set {
layer.borderWidth = newValue
}
get {
return layer.borderWidth
}
}
@IBInspectable var cornerRadius: CGFloat {
set {
layer.cornerRadius = newValue
clipsToBounds = newValue > 0
}
get {
return layer.cornerRadius
}
}
}
Sau đó, bạn sẽ nhận được các thuộc tính sau trong chính trình xây dựng giao diện.!