Почему это изображение не появляется? Использование NSData и initWithData - PullRequest
0 голосов
/ 11 марта 2011
NSURL* urlEx = [NSURL URLWithString:@"Pacific_Map.png"];
NSData* mapExIMGData = [[NSData alloc] initWithContentsOfURL: urlEx];

UIImage* imgEx = [[UIImage alloc] initWithData:mapExIMGData];

mapImageViewEx.image = imgEx;

Если я заменю mapImageViewEx.image = imgEx;с mapImageViewEx.image = [UIImage imageNamed: @ "Pacific_Map.png"];это работает, но я не хочу использовать imageNamed.

Ответы [ 2 ]

2 голосов
/ 11 марта 2011

Это потому, что imageNamed знает, где искать файл, но initWithContentsOfURL ожидает полный путь. используйте

NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"Pacific_Map" ofType:@"png"];
NSURL* urlEx = [NSURL fileURLWithPath:imagePath];
NSData* mapExIMGData = [[NSData alloc] initWithContentsOfURL: urlEx];

UIImage* imgEx = [[UIImage alloc] initWithData:mapExIMGData];

mapImageViewEx.image = imgEx;
1 голос
/ 11 марта 2011

Что не так с использованием imageNamed? В любом случае, вы можете использовать initWithContentsofPath.

+ (UIImage *)imageWithContentsOfFile:(NSString *)path

Расскажите нам подробнее о том, чего вы пытаетесь достичь. Удачи,

Джеймс

РЕДАКТИРОВАТЬ: Извините, я предположил, что Pacific_Map.png был просто путь заполнителя. Как и кто-то другой, вы должны указать полный путь, если вы не собираетесь использовать imageNamed.

...