Итак, вчера произошло нечто интересное, и я не знаю, случалось ли это когда-нибудь с кем-то еще. Я в основном добавляю UIBarButtonItem на панель инструментов в зависимости от того, какая вкладка выбрана в tabbarcontroller. Например, на вкладке 2 я добавляю это так:
NSMutableArray *barItems = [[self.MainToolbar items] mutableCopy];
if (_sortButton == nil) {
_sortButton = [[UIBarButtonItem alloc] initWithTitle:@"Sort" style:UIBarButtonItemStyleBordered target:self action:@selector(sortButtonPressed:)];
}
[barItems insertObject:_sortButton atIndex:0];
[self.MainToolbar setItems:barItems];
[barItems release];
Точно так же, когда я удаляю кнопку, я делаю это:
if (_sortButton != nil) {
self.SortButton = nil;
NSMutableArray *barItems = [[self.MainToolbar items] mutableCopy];
[barItems removeObjectAtIndex:0];
[self.MainToolbar setItems:barItems];
[barItems release];
}
Так что на симуляторе все работает нормально. Я могу переключаться между вкладками, перемещаться по приложению, и я не видел проблем с кнопкой. Я также проверил эту функциональность с инструментами и не увидел никаких очевидных проблем. Затем, когда я помещал его на фактический iPad 2, когда я нажимал на вкладку в первый раз, он отображался нормально, затем я нажимал на другую вкладку, затем нажимал обратно на вкладку 2, и кнопка переходила немного правее (в начале он расположен слева от панели инструментов). Затем вы щелкаете прочь и возвращаетесь, и снова он перемещается вправо. Пока не уверен, почему это происходит, но я также не был уверен, почему это произошло только на устройстве, а не в симуляторе для чего-то подобного. Я определенно знаю, что все должно быть проверено на реальном оборудовании, но мне просто интересно, если это известная проблема для других. Спасибо!