Отображение UIView / UIControl перекрывающихся UIToolbar - PullRequest
0 голосов
/ 11 мая 2018

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

Панель инструментов с перекрытием кнопок

Моя первая попытка сделать это работает на iPad и iPhone в альбомном режиме, но кнопка появляется за панелью инструментов в портретном режиме.Таким образом, это, вероятно, связано с разницей в рендеринге с помощью Split View Controller:

addButton.frame = CGRect(x:0, y:0, width:48, height:48)
addButton.setBackgroundImage(UIImage(named:"Button - Add"), for: .normal)

let topView = self.navigationController?.view
topView?.addSubview(addButton)

Я не хочу, чтобы он отображался выше всех других контроллеров представления, например, всплывающих окон и модальных сегментов, поэтому я могу 't поместите кнопку в самое верхнее окно приложения, то есть следующее не дает мне правильного результата:

let topView = UIApplication.shared.windows.first
topView?.addSubview(addButton)

Единственное решение, которое мне подходит, это добавить кнопку на панель инструментов, но этоне очень хорош, потому что сенсорная зона для кнопки обрезается панелью инструментов:

self.navigationController?.toolbar.addSubview(addButton)
let topView: UIView? = addButton.superview

Итак, кто-нибудь знает способ разместить UIView или UIControl в слое или представлении над панелью инструментов, новсе еще на активном viewController?

...