Я использую SLPagingView, чтобы иметь движущуюся навигационную панель в моем Swift 3 проект.Как использовать UITabBarController с NavigationBar и ScrollView?
Контроллер является SubClass
из UIViewController
с ScrollView
.
Я хочу использовать UITabBarController
как один из встроенных UIViewControllers
. Проблема заключается в том, что мой TabBar отсутствует:
белая полоса в зеленый контроллер показывает проблему:
Текущий результат на тренажере (iPhone 7 Plus):
Я думаю, что TabBar
отсутствует в размере NavigationBar
+ StatusBar
. В других контроллерах я использую UITableViews
с вставкой. Как отобразить UITabBar
в текущей ситуации? Помощь очень ценится.
Edit:
В текущей работе вокруг, у меня есть «решение», чтобы переместить TabBar
в нужное положение.
class TabC: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
let statusBarHeight = UIApplication.shared.statusBarFrame.height
let screenSize: CGRect = UIScreen.main.bounds
let tabBarFrame = CGRect(x: 0, y: (screenSize.height - 88 + statusBarHeight), width: screenSize.width, height: 0)
self.tabBar.frame = tabBarFrame
}
}
Идеальная позиция 2 раза в NavigationBar
(2x 44 = 88
) минус statusBarHeight
. Он работает на iPhone 5S, 6, 7 Plus. Каждый раз в том же положении.
Но почему 2 раза в NavigationBar
(минус statusBarHeight
) и это лучший подход?
что тянущаяся пространство между whiteBar (метка) на панели инструментов является то, что 4? – Joe
Вы внесли какие-либо изменения в высоту вашего SLPagingView? .. – Joe
SLPagingView, сделанный из пользовательского UIView, не изначально из navigationBar (44) + no tabBar в вашем SLPagingView (44), который делает 2x размер вашего навигационного блока. – Joe