Я сейчас разрабатываю приложение, которое поддерживает как iOS 4.3, так и 5.0.Проблема с навигационной панелью iphone 4.3
Мой код отлично работает с 5.0, но приводит к сложной ошибке в 4.3.
Издание является:
У меня есть вид с Tableview в нем. В этом представлении есть панель навигации с левыми и правыми элементами навигационной панели. Как только я выберу строку в виде таблицы (и достигнет ее соответствующего представления) и вернется назад, элементы левой и правой навигационной панели «исчезнут».
Я был над этим беспорядком в течение последних нескольких часов, кто-то получил лекарство?
Это то, что я уже сделал:
Это вспомогательный метод, который я называю, когда вид нагрузки.
+ (void)setNavigationBarContents:(UIViewController *)view
{
UIImage *topBarimage=[UIImage imageNamed:NAVIGATION_BAR_IMAGE];
if([view.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) {
[view.navigationController.navigationBar setBackgroundImage:topBarimage forBarMetrics:UIBarMetricsDefault];
}
else
{
[view.navigationController.navigationBar insertSubview:[[UIImageView alloc] initWithImage:topBarimage] aboveSubview:view.navigationController.navigationBar];
}
UIImage *logo=[UIImage imageNamed:LOGO];
UIImageView *logoView=[[UIImageView alloc]initWithImage:logo];
view.navigationItem.titleView = logoView;
UIImage *settingsButtonImage= [UIImage imageNamed:NAVIGATION_SETTINGS];
UIButton *rightBarButton = [UIButton buttonWithType: UIButtonTypeCustom];
[rightBarButton setBackgroundImage: settingsButtonImage forState:UIControlStateNormal];
[rightBarButton addTarget: view action:@selector(settingsButton:) forControlEvents:UIControlEventTouchUpInside];
rightBarButton.frame = CGRectMake(0, 0, 50, 40);
view.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView: rightBarButton];
UIImage *logoutButtonImage= [UIImage imageNamed:LOGOUT];
UIButton *leftBarButton = [UIButton buttonWithType: UIButtonTypeCustom];
[leftBarButton setBackgroundImage: logoutButtonImage forState:UIControlStateNormal];
[leftBarButton addTarget: view action:@selector(logout:) forControlEvents:UIControlEventTouchUpInside];
leftBarButton.frame = CGRectMake(0, 0, 65, 32);
view.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView: leftBarButton];
}
Пытались называют это как в viewDidLoad и viewWillAppear, но тщетно.
Так я называю это в viewController.
- (void)viewDidLoad
{
[super viewDidLoad];
//other setups here.
[Utility setNavigationBarContents:self];
}
Попробуйте этот код в ViewWillAppear [Utility setNavigationBarContents: автономный]; – Splendid
Я уже пробовал это, как я сказал ранее. Спасибо за ваш быстрый ответ – Guru
Только элемент кнопки на панели исчезает или панель навигации исчезает? – Splendid