Быстрая настройка iOS UITabBar - PullRequest
0 голосов
/ 30 октября 2018

У меня есть панель вкладок. Я изменил его цвет, присвоил ему угловой радиус, установил ширину и цвет границы, и все работает хорошо. До сих пор все сделано в раскадровке.

Теперь я хочу указать левое и правое поля, так как по умолчанию оно придерживается краев экрана.

Это текущий вид панели вкладок:

enter image description here

Черные стрелки указывают на линии, которые придерживаются краев экрана. Я хочу пространство между этой линией и краями.

1 Ответ

0 голосов
/ 30 октября 2018

Вы можете создать этот вид заполнителя внутри пользовательского UITabBar, как показано ниже,

class CustomTabBar: UITabBar {

    let roundedView = UIView(frame: .zero)

    override func awakeFromNib() {
        super.awakeFromNib()

        roundedView.layer.masksToBounds = true
        roundedView.layer.cornerRadius = 12.0
        roundedView.layer.borderWidth = 2.0
        roundedView.isUserInteractionEnabled = false
        roundedView.layer.borderColor = UIColor.black.cgColor
        self.addSubview(roundedView)
    }

    override func layoutSubviews() {
        super.layoutSubviews()

        let margin: CGFloat = 12.0
        let position = CGPoint(x: margin, y: 0)
        let size = CGSize(width: self.frame.width - margin * 2, height: self.frame.height)
        roundedView.frame = CGRect(origin: position, size: size)
    }
}

Установите этот класс для TabBar в storyboard/xib. Это должно дать вам следующее,

enter image description here

...