Скрытие наложенной кнопки на панели вкладок
Я новичок в iOS и Swift. В настоящее время я работаю над приложением, в котором мне нужно показать панель вкладок с большой кнопкой в центре. Учитывая временные ограничения, я создал кнопку в окне и программно расположил ее над панелью вкладок. Теперь, когда я перемещаюсь к этому экрану или от него, я добавляю / удаляю эту кнопку в viewDidAppear и viewDidDisappear соответственно. Это гарантирует, что при удалении панели вкладок кнопка также не отображается, и аналогично, когда панель вкладок отображается, кнопка также добавляется сверху. Однако, поскольку добавление и удаление происходит в viewDidAppear и viewDidDisappear, существует небольшая задержка при рендеринге и удалении кнопки, из-за которой наблюдается кратковременное мерцание. Делать то же самое в viewWillAppear и viewWillDisappear не работает вообще. Кнопка не отображается или скрывается в методах "завещания". Может кто-нибудь подсказать, что может быть не так? Заранее спасибо. Я прилагаю снимок экрана, чтобы дать общее представление о том, как он должен выглядеть.
1 ответ
Правильный способ добавить кнопку - добавить ее с точки зрения представления UItabBarController вместо добавления в UIWindow.
class DashBoardViewController: UITabBarController {
let button:UIButton = {
let view = UIButton(frame: .zero)
view.backgroundColor = .blue
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
initView()
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
button.center = tabBar.center
}
private func initView() {
button.center = tabBar.center
view.addSubview(button)
}
}