Diğer yanıt, bu çalışmanın çoğunu kodda gerçekleştirmeyi önerdiğinden, yalnızca bir yanıt aslında film şeridi IB Arayüzündeki değişikliklerinizi görüntülemenin bir yolunu sağladı. Cevabım, görünümün köşe yarıçapını, düğmeyi, görüntünün vb. Değiştirmenize izin vererek bu cevabın ötesine geçiyor.
Lütfen aşağıdaki koda bir göz atın. Bu kodu kullanmak için, RoundedView adında yeni bir hızlı dosya oluşturun veya onu adlandırmak istediğiniz her ne olursa olsun, film şeridinize gidin ve sınıfı "RoundedView", "RoundedImageView" veya "RoundedButton" olarak değiştirin.
import UIKit
@IBDesignable class RoundedImage: UIImageView
{
override func layoutSubviews() {
super.layoutSubviews()
updateCornerRadius()
}
@IBInspectable var rounded: Bool = false {
didSet {
updateCornerRadius()
}
}
@IBInspectable var cornerRadius: CGFloat = 0.1 {
didSet {
updateCornerRadius()
}
}
func updateCornerRadius() {
layer.cornerRadius = rounded ? cornerRadius : 0
layer.masksToBounds = rounded ? true : false
}
}
@IBDesignable class RoundedView: UIView
{
override func layoutSubviews() {
super.layoutSubviews()
updateCornerRadius()
}
@IBInspectable var rounded: Bool = false {
didSet {
updateCornerRadius()
}
}
@IBInspectable var cornerRadius: CGFloat = 0.1 {
didSet {
updateCornerRadius()
}
}
func updateCornerRadius() {
layer.cornerRadius = rounded ? cornerRadius : 0
layer.masksToBounds = rounded ? true : false
}
}
@IBDesignable class RoundedButton: UIButton
{
override func layoutSubviews() {
super.layoutSubviews()
updateCornerRadius()
}
@IBInspectable var rounded: Bool = false {
didSet {
updateCornerRadius()
}
}
@IBInspectable var cornerRadius: CGFloat = 0.1 {
didSet {
updateCornerRadius()
}
}
func updateCornerRadius() {
layer.cornerRadius = rounded ? cornerRadius : 0
layer.masksToBounds = rounded ? true : false
}
}