Я использую собственное представление заголовка для UINavigationBar со следующим кодом:
// Set a label to the nav bar
THLabel *titleLabel = [[THLabel alloc] init];
titleLabel.text = @"Test";
titleLabel.font = [UIFont fontWithName:APP_FONT size:22.0];
titleLabel.frame = CGRectMake(0, 0, 100, 30);
titleLabel.textAlignment = NSTextAlignmentCenter;
titleLabel.textColor = CUSTOM_LIGHT_BLUE;
titleLabel.strokeColor = kStrokeColor;
titleLabel.strokeSize = kStrokeSize;
self.navigationItem.titleView = titleLabel;
Проблема заключается в том, что при представлении нового диспетчера представлений и возвращении к исходному контроллеру представления этот пользовательский вид сдвигается, а затем повторно центрируется. Пожалуйста, просмотрите видео для демонстрации этого.
Смотрите видеоролик здесь: https://www.youtube.com/watch?v=961CCVQmpJM&feature=youtu.be
Я отключил автоматизацию каждого поднабора для навигационного контроллера как с раскадрой, так и с кодом для каждого контроллера вида:
// Set the navigation bar hidded on the log in view
UINavigationController* mainViewController = (UINavigationController*)self.appDelegate.window.rootViewController;
[mainViewController setNavigationBarHidden:YES];
[[mainViewController navigationBar] setAutoresizesSubviews:NO];
Однако он по-прежнему изменяется! Как я могу остановить это - что я делаю неправильно? Спасибо!