Странная графическая ошибка в три20 в программе просмотра большого пальца при работе в режиме релиза - PullRequest
1 голос
/ 26 января 2012

Я только что столкнулся с самой странной проблемой в средстве просмотра Three20 Thumbs.

При работе в режиме отладки мой TTThumbsViewController работает полностью нормально, однако, если я переключаюсь в режим выпуска (ad-hoc и * 1004)* в версии магазина приложений реального времени ) я получаю довольно странные графические глюки.

Например, представление загрузки контроллера большого пальца:

http://img.skitch.com/20120125-kugx5diqbs8sttnxatrppf4rjg.jpg

И тогда все мои миниатюры будут сдавлены:

http://img.skitch.com/20120125-mi3mpkr1j1s9f79fdf9r3krjhs.jpg

Я работаю с последней (основной) версией three20 и только одну небольшую изменение исходного кода, чтобы строка заголовка не отображалась в верхней части представления галереи.

Я добавил следующий метод к TTTableViewDelegate.m:

- (float)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return 0; // disable headers in TTTableViews - prevents header on thumbs view in iOS 5
}

В заключение:

  • Может кто-нибудь воспроизвести (с выпуском)?
  • Что я могу сделать?
  • Может ли это изменение, которое я сделал, вызвать эти проблемы (имейте в виду, что это происходит только с выпускомbuild)?

Если у кого-нибудь есть идеи, которыеБыло бы здорово, так как это в настоящее время доступно в магазине приложений ( Я знаю, что я идиот, потому что я не тестирую с релизом - это должно научить меня ).

Ответы [ 2 ]

3 голосов
/ 26 января 2012

Проблема с компилятором LLVM, связанным с Xcode 4.2 при компиляции для устройств armv6 на iOS 4.2.1.

Проблема и решение описаны здесь: Странная проблема макета на устройстве 3GS с iOS 4.2.1 - Скомпилировано с iOS 5

Вам нужно добавить флаг -mno-thumb к вашим флагам компилятора для armv6, т.е.

compiler flags screenshot

1 голос
/ 27 января 2012

Метод с настройкой -mno-thumb в МОИХ НАСТРОЙКАХ ПРОЕКТА у меня не сработал, но это точно проблема компилятора

LLVM в комплекте с Xcode 4.2 при компиляции для устройств armv6

Быстрый способ сделать это - обновить маленькую Three20 Library.xconfig , которая находится в папке Three20 / src / Configurations / common

Найдите строку для конфигурации флагов компоновщика и добавьте в нее строку с -mno-thumb.

// Linker Flags    
OTHER_LDFLAGS           = $(OBJC_LIBRARY)

// We needed this to resolve horrible bug
// When your'e setting value on origin.x and it is applied to origin.y
OTHER_CFLAGS[arch=armv6] = -mno-thumb

Прибыль.

...