Швидкий
Коротка відповідь:
myView.layer.cornerRadius = 8
myView.layer.masksToBounds = true // optional
Додатковий відповідь
Якщо ви прийшли до цієї відповіді, ви, напевно, вже бачили достатньо, щоб вирішити свою проблему. Я додаю цю відповідь, щоб дати трохи більш наочне пояснення, чому справи роблять те, що вони роблять.
Якщо ви почнете зі звичайної, UIView
вона має квадратні кути.
let blueView = UIView()
blueView.frame = CGRect(x: 100, y: 100, width: 100, height: 50)
blueView.backgroundColor = UIColor.blueColor()
view.addSubview(blueView)
Ви можете надати круглі кути, змінивши cornerRadius
властивість виду layer
.
blueView.layer.cornerRadius = 8
Більші значення радіуса дають більш закруглені кути
blueView.layer.cornerRadius = 25
а менші значення дають менш закруглені кути.
blueView.layer.cornerRadius = 3
Цього може бути достатньо для вирішення вашої проблеми саме там. Однак іноді представлення може мати підвид або підшар, що виходить за межі перегляду. Наприклад, якби я додавав подібний вид перегляду
let mySubView = UIView()
mySubView.frame = CGRect(x: 20, y: 20, width: 100, height: 100)
mySubView.backgroundColor = UIColor.redColor()
blueView.addSubview(mySubView)
або якби я , щоб додати допоміжний шар , як це
let mySubLayer = CALayer()
mySubLayer.frame = CGRect(x: 20, y: 20, width: 100, height: 100)
mySubLayer.backgroundColor = UIColor.redColor().CGColor
blueView.layer.addSublayer(mySubLayer)
Тоді я б закінчив
Тепер, якщо я не хочу, щоб речі висіли поза межами меж, я можу це зробити
blueView.clipsToBounds = true
або це
blueView.layer.masksToBounds = true
що дає такий результат:
І те clipsToBounds
й masksToBounds
інше рівнозначно . Просто перший використовується з, UIView
а другий використовується CALayer
.
Дивись також