Изображения не отображаются, когда архитектура установлена ​​на 64 бит

Для перевода моего приложения в 64-битное я изменил настройку сборки Architectures на:

ARCHS = "$ (ARCHS_STANDARD_INCLUDING_64_BIT)";

Приложение работает нормально, за исключением того, что некоторые изображения не отображаются (пусто). Почему это случилось? какие-нибудь подсказки?

3 ответа

Решение

Ответ лежит здесь:

https://devforums.apple.com/message/922989

Я нашел причину. В viewController, который еще не был выделен, но включен в приложение, было реализовано следующее (в.m-файле выше реализации viewController):

@implementation UIImageView (UIScrollView)
- (void)setAlpha:(float)alpha {
..........(no difference if here is some code or not) ...............
  [super setAlpha:alpha];
}
@end

Помещение выше в комментарии решило проблему, хотя кнопка, которая не отображала изображение, не была в просмотре прокрутки.

Обновите структуру данных, используемую в коде, в соответствии с 64 битами, например, замените Float с CGFloat,(если не работает, то также изменить int введите с NSInteger)
Смотрите здесь для более подробной информации
В моем случае замени Float с CGFloat и решить мою проблему (самый простой способ заменить float в CGFloat)

#define float CGFloat

Запишите в файл.pch и проверьте, работает он или нет.
Спасибо

Это исправило мою проблему, чтобы изменить

- (void)setAlpha:(float)alpha {

чтобы:

- (void) setAlpha:(CGFloat)alpha {
Другие вопросы по тегам