Симулятор iOS несовместим с iPad 2, UIBarButtonItem - PullRequest
0 голосов
/ 02 августа 2011

Итак, вчера произошло нечто интересное, и я не знаю, случалось ли это когда-нибудь с кем-то еще. Я в основном добавляю 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, и кнопка переходила немного правее (в начале он расположен слева от панели инструментов). Затем вы щелкаете прочь и возвращаетесь, и снова он перемещается вправо. Пока не уверен, почему это происходит, но я также не был уверен, почему это произошло только на устройстве, а не в симуляторе для чего-то подобного. Я определенно знаю, что все должно быть проверено на реальном оборудовании, но мне просто интересно, если это известная проблема для других. Спасибо!

1 Ответ

0 голосов
/ 21 января 2012

У меня была похожая проблема.

В моем случае файл .png был удален из проекта и из рабочего каталога проекта - по некоторым причинам.Следовательно, он больше не был включен в ресурсы комплекта копирования.

Странно, хотя, видимо, это все еще было на симуляторе.В моем случае это было все еще на устройстве отладки.Но при создании боулдера для раздачи ad-hoc его не было. В результате полная кнопка (элемент панели кнопок на панели навигации) не появилась.Пользователи не смогли вызвать действие, связанное с ним.

Сначала я стер приложение с симулятора.Я пробовал и то и другое, стирая его из графического интерфейса симулятора и из файловой системы / Пользователи // Библиотека / Поддержка приложений / iPhone Simulator / 5.0 / Приложения / (идентификатор приложения) / ....В обоих случаях, запустив приложение на simulatore, переустановил неиспользуемый файл .png и ряд других файлов, которые были намеренно удалены из моего проекта xcode.

Однако окончательным решением было снова включить файл png в проект xcode и назначить его всем соответствующим целям.В моем случае я все равно собирался изменить графику, поэтому я включил новый файл вместо старого.Но я уверен, что эта деталь не имеет большого значения.

Краткая версия: 1. Если ваш png-файл все еще является частью проекта, удалите его.Удалите ist из папки проекта, просто чтобы сохранить.2. Повторно включите файл png в проект.3. Создайте свою сборку и попробуйте ее на пустом устройстве.

...