2016-12-31 3 views
2

У меня есть пользовательский UINavigationController, который я просто изменить размер высоты, но я не получаю никакого результата: enter image description hereUINavigationBar высота бара не меняется

на самом деле мой основной код заключается в следующем: (это будет получить идеальную высоту по размеру устройства TU)

class NavigationController1: UINavigationController { 

let Theframe = UIScreen.main.bounds 

override func awakeFromNib() { 
    self.navigationBar.frame = CGRect.init(x: self.navigationBar.frame.origin.x*Theframe.width/375, y: self.navigationBar.frame.origin.y*Theframe.height/667, width:self.navigationBar.frame.width*Theframe.width/375, height: self.navigationBar.frame.height*Theframe.height/667) 
} 
} 

, но верхний код для высоты не работает ни.

+0

Я думаю, что ничего не изменилось с тех пор этот вопрос в 2009 году http://stackoverflow.com/questions/1385538/how-do # 1385643 на-высоты-оф-uinavigationbar-в-в-iphone-приложение -i-зор-. К сожалению, я думаю, вы не можете изменить высоту. – dfd

ответ

2

Я решил проблему, поставив в viewWillLayoutSubviews() окончательный код:

import UIKit 

class NavigationController1: UINavigationController { 

let Theframe = UIScreen.main.bounds 

override func viewWillLayoutSubviews() { 
    self.navigationBar.frame = CGRect.init(x: self.navigationBar.frame.origin.x, y: self.navigationBar.frame.origin.y, width:self.navigationBar.frame.width, height: 200) 
} 
} 
0

Он может быть переопределен и перерисован из-за инспектора sIze. Положите туда те же самые требования, чтобы вы не могли переопределить собственный код.

+0

Добавьте желаемую высоту и ширину к инспектору размера, а также – mrabins

+0

Я сделал, все еще нет результата –

Смежные вопросы