Образы ячеек UITableView меняются? - PullRequest
3 голосов
/ 17 февраля 2012

Когда я закончил разработку приложения для покупки в приложении и после нескольких испытаний на iPad / Iphone, все было в порядке, изображения ячеек табличного представления и его высота были в точности такими, как написано в коде, поэтому я загружаю приложение, когда он был обработан в магазине приложений, я загружаю его, ячейки табличного представления в обоих iPhone и iPad были разных размеров, намного большего размера, чем было установлено при тестировании, поэтому изображение в ячейках было как растянуто !!!! инепонятно, я пытался протестировать его затем напрямую через xcode на свое устройство, оно было почти нормально, как и раньше, но проблема только в загрузке из магазина,

Я действительно ценю любую помощь, testing image

after downloading from store

С уважением,

Ответы [ 2 ]

1 голос
/ 17 февраля 2012
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 120; // also custom uitableviewcell should have same height
}
1 голос
/ 17 февраля 2012

Вполне вероятно, что это будет сделано с оптимизацией вычисления с плавающей точкой.

При сборке для выпуска по умолчанию Xcode попытается полностью оптимизировать ваш код, в том числе сделать ваши вычисления с плавающей запятой более эффективными. Тем не менее, иногда они могут быть неправильно оптимизированы, и это может вызвать серьезные проблемы, особенно с позиционированием / размером видов и т. Д.

Для меня это происходит при сборке для архитектуры release + armv6, и у меня была точно такая же проблема (реализована только после выпуска).

К счастью, есть способ отключить оптимизацию с плавающей точкой. Вот как это сделать:

Использование LLVM GCC 4.2

  1. Нажмите на свой проект в панели файлов слева
  2. Нажмите на название проекта под Targets (как показано ниже), затем нажмите «Настройки сборки».
  3. Найдите «большой палец» в поле поиска с правой стороны
  4. В разделе «LLVM GCC 4.2 - Генерация кода» вы должны увидеть параметр «Compile for Thumb». Если вы этого не сделаете, это потому, что вы используете компилятор Apple LLVM 3.0 (инструкции для этого ниже).
  5. Наведите указатель мыши на отпускание и щелкните значок плюса.
  6. Должна появиться новая опция, в раскрывающемся списке выберите «ARMv6» из раскрывающегося списка.
  7. Затем выберите «Нет» для этой опции. Теперь оно должно выглядеть так:

Screenshot showing Compile for Thumb setting


Использование компилятора Apple LLVM 3.0

  1. Выполните шаги 1 и 2 выше.
  2. Искать «другие флаги с» в окне поиска
  3. Выполните те же действия, что и выше, чтобы добавить определенную конфигурацию для выпуска ARMv6 +.
  4. Дважды щелкните поле с флагами и добавьте флаг -mno-thumb. Теперь он должен выглядеть так:

Disabling Compiile for Thumb for the Apple Compiler

Если после этого в сборке релиза все еще будут проблемы, вы можете попробовать отключить компиляцию для большого пальца.

Надеюсь, это поможет.

...