Кнопка «Ограничить» программно до нижнего центра панели вкладок - PullRequest
1 голос
/ 16 февраля 2020

Я создаю панель вкладок с заметной средней кнопкой для добавления сообщения. Проблема, с которой я сталкиваюсь, заключается в том, что моя кнопка хорошо подходит для iPhone 11 Pro Max, но неправильно позиционируется на iPhone другого размера (см. Изображения). enter image description here

enter image description here

Мне кажется, проблема в том, что я устанавливаю позицию Y абсолютно, а не относительно tabBar , Я не понимаю, как это сделать, поскольку я добавляю кнопку программно, а не через раскадровку (где я знаю, как использовать относительные ограничения). Вот где я устанавливаю позицию:

override func viewDidLayoutSubviews() {
    button.frame = CGRect.init(x: self.tabBar.center.x - 32, y: self.view.bounds.height - 115, width: 64, height: 64)
}

Как программно установить относительную позицию для моей кнопки, чтобы она всегда была наполовину выше и наполовину ниже панели вкладок, независимо от размера телефона?

1 Ответ

1 голос
/ 16 февраля 2020

попробуйте

let tabBarHeight = 64
let mainButton: UIButton = UIButton(type: .custom)
mainButton.frame = CGRect(origin: CGPoint(x: 0.0, y: win.frame.size.height),size: CGSize(width: tabBarHeight, height: tabBarHeight))
mainButton.center = CGPoint(x: win.center.x, y: win.frame.size.height - tabBar.layer.bounds.height)

Вы устанавливаете размер и устанавливаете центр кнопки в центре TabBar или немного двигаетесь вверх, как этот код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...