Когда я тестирую свое приложение через xcode на нескольких устройствах, мое приложение показывает одну панель инструментов, как ожидалось. После этого я загрузил обновление своего приложения в магазине приложений. Но вдруг я понял, что в некоторых iphones (ios 7.0.4), после обновления приложения, при запуске он запускается с помощью двух панелей инструментов.Мое приложение, отображающее 2 панели инструментов вместо одного
Я добавляю панель инструментов программно в функцию viewDidLoad
этого контроллера.
UIImage* leftImg = [UIImage imageNamed:@"left.png"];
UIImage* rightImg = [UIImage imageNamed:@"right.png"];
CGRect frame = CGRectMake(0, 0, leftImg.size.width, leftImg.size.height);
UIButton* lefButton = [[UIButton alloc] initWithFrame:frame];
UIButton* rigButton = [[UIButton alloc] initWithFrame:frame];
[lefButton setTitle:@"" forState:UIControlStateNormal & UIControlStateHighlighted];
[rigButton setTitle:@"" forState:UIControlStateNormal & UIControlStateHighlighted];
[lefButton setImage:leftImg forState:UIControlStateNormal];
[lefButton setImage:leftImg forState:UIControlStateSelected];
[rigButton setImage:rightImg forState:UIControlStateNormal];
[rigButton setImage:rightImg forState:UIControlStateSelected];
[lefButton addTarget:self action:@selector(loadPrevChapter:) forControlEvents:UIControlEventTouchUpInside];
[rigButton addTarget:self action:@selector(loadNextChapter:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *itemLeft = [[UIBarButtonItem alloc] initWithCustomView:lefButton];
UIBarButtonItem *itemRight = [[UIBarButtonItem alloc] initWithCustomView:rigButton];
// In case i want to add Space between barbuttonitems
UIBarButtonItem *flexiableItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
// add items to toolbar
NSArray *items = [NSArray arrayWithObjects:itemLeft, flexiableItem, itemRight, nil];
self.toolbarItems = items;
[self.navigationController setToolbarHidden:NO animated:NO];
UIImage *toolbarBgImage = [UIImage imageNamed:tlbImg];
UIImage *navbarBgImage = ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0f) ? [UIImage imageNamed:navImgIos7] : [UIImage imageNamed:navImg];
[[UINavigationBar appearance] setBackgroundImage:navbarBgImage forBarMetrics:UIBarMetricsDefault];
[[UIToolbar appearance] setBackgroundImage:toolbarBgImage forToolbarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
Но я не добавил в навигационном контроллере панели инструментов это:
[[self navigationController].view addSubview:_toolbar];
, как сказано ниже @Xeieshan.
Кто-нибудь заметил что-то подобное раньше или кто-нибудь знает, почему это происходит?
Скриншот мое приложение работает на моем iPhone 5 (v7.0.4)
Скриншот из моего приложения, установленного через AppStore, после обновления, работает на iPhone 5 (v7.0.4)
Пожалуйста, разместите здесь какой-либо код или мы не знаем, как вы добавили панель инструментов. –
@XhackerLiu извините за последнее время. Я обновил сообщение с кодом. –
Вы пытались установить сборку Release из XCode? Это первое отличие, которое приходит мне в голову при установке xcode и установке appstore. –