Я пытаюсь добавить угловой радиус к моей панели вкладок в верхнем левом и верхнем правом углах.
Вот мой код:
import UIKit
class TabBarController: UITabBarController, UITabBarControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
self.tabBar.layer.cornerRadius = 32
self.tabBar.layer.masksToBounds = true
self.tabBar.layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner]
}
}
А вот мой интерфейс Конструктор для панели вкладок:
![enter image description here](https://i.stack.imgur.com/H2s1E.png)
Но моя панель вкладок выглядит так:
![enter image description here](https://i.stack.imgur.com/T38s9.png)
Как видите, если смотреть на углы, они не прозрачные, они белые. Это должно показать изображение позади этого. Похоже, что с маскировкой что-то не так, но я не уверен, что.
Что я делаю не так?
Вот мой другой класс IBDesignable, который может повлиять на это:
import UIKit
@IBDesignable
class DesignableView: UIView {
}
@IBDesignable
class DesignableButton: UIButton {
}
@IBDesignable
class DesignableLabel: UILabel {
}
@IBDesignable
class DesignableTextField: UITextField {
}
extension UIView {
@IBInspectable
var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
layer.masksToBounds = newValue > 0
}
}
@IBInspectable
var shadowOffset: CGSize {
get {
return layer.shadowOffset
}
set {
layer.shadowOffset = newValue
}
}
@IBInspectable
var shadowColor: UIColor {
get {
return UIColor(cgColor: layer.shadowColor!)
}
set {
layer.shadowColor = newValue.cgColor
}
}
@IBInspectable
var shadowRadius: CGFloat {
get {
return layer.shadowRadius
}
set {
layer.shadowRadius = newValue
}
}
@IBInspectable
var shadowOpacity: Float {
get {
return layer.shadowOpacity
}
set {
layer.shadowOpacity = newValue
}
}
@IBInspectable
var borderWidth: CGFloat {
get {
return layer.borderWidth
}
set {
layer.borderWidth = newValue
}
}
@IBInspectable
var borderColor: UIColor {
get {
return UIColor(cgColor: layer.borderColor!)
}
set {
layer.borderColor = newValue.cgColor
}
}
}
Обновление:
Я обнаружил, что если я изменю цвет фона контроллера просмотра за вкладками, углы панели вкладок будут совпадать с этим цветом:
![enter image description here](https://i.stack.imgur.com/3mkj5.png)
Если я отлаживаю представление, вы можете увидеть маленькие красные углы в одном из представлений:
![enter image description here](https://i.stack.imgur.com/Wupzh.png)
Что это значит?