2017-01-17 4 views
0

У меня есть пользовательский контроллер панели вкладок, который я хочу добавить 2 кнопки. 1 увеличенная центральная кнопка и 1 кнопка слева, чтобы создать боковое меню гамбургера, которое запускается с панели вкладок вместо верхней панели навигации.Высота и размер кнопки Tab Bar - Исправлено?

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

self.tabBarController?.tabBar.frame.size.height 

Я читал где-то еще, что на вкладке всегда фиксированные 49 пикселей независимо от устройства?

, если это так можно безопасно использовать что-то вроде:

menuButtonFrame.origin.y = self.view.bounds.height - (CGFloat(49) - menuButtonFrame.size.height)/2 

установить позицию моей кнопки? (черный ящик) его позиции пока еще не правы

также интересно, какое значение по умолчанию для кнопки на панели?

enter image description here

+0

вы можете поделиться с вами экраном? –

+0

Я добавил скриншот на вопрос. кнопка не установлена ​​правильно, но в основном интересуется высотой панели вкладок, является ли она статичной и размер кнопки по умолчанию? – DuckMan

+0

не уверены в ваших требованиях, но надеюсь, что эта ссылка может вам помочь. https://github.com/codepath/ios_guides/wiki/Creating-a-Custom-Tab-Bar –

ответ

0

Создание UIView, как это и установить высоту центрального пункта по вашему желанию.

enter image description here

А потом в TabbarView Controller. добавьте это представление на вкладку «Вид».

UITabBar.appearance().shadowImage = UIImage() 

     customNavBar = NSBundle.mainBundle().loadNibNamed("CustomTabBarView", owner: self, options: nil)[0] as! UIView 

     bdNavBar.translatesAutoresizingMaskIntoConstraints = false 

     self.tabBar.addSubview(customNavBar) 

А затем добавьте ограничения в пользовательскую вкладку.

self.view.addConstraint(NSLayoutConstraint(item: customNavBar, attribute: .Left, relatedBy: .Equal, toItem: self.view, attribute: .Left, multiplier: 1.0, constant: 0)) 
self.view.addConstraint(NSLayoutConstraint(item: customNavBar, attribute: .Right, relatedBy: .Equal, toItem: self.view, attribute: .Right, multiplier: 1.0, constant: 0)) 
self.view.addConstraint(NSLayoutConstraint(item: customNavBar, attribute: .Bottom, relatedBy: .Equal, toItem: self.view, attribute: .Bottom, multiplier: 1.0, constant: 0)) 
bdNavBar.addConstraint(NSLayoutConstraint(item: customNavBar, attribute: NSLayoutAttribute.Height, relatedBy: .Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 1.0, constant: 50))   
self.tabBar.bringSubviewToFront(customNavBar) 
Смежные вопросы