UIImages не отображаются в TableView на iPhone, но работают в симуляторе - PullRequest
0 голосов
/ 26 апреля 2010

У меня есть представление UITable, которое отображает изображение в левой части ячейки таблицы, и оно прекрасно работает в симуляторе.

Единственная проблема в том, что после запуска на моем устройстве изображения не отображаются. Это просто пустое пространство.

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

Есть идеи?

Спасибо.

Код для отображения изображений:

cell.imageView.layer.masksToBounds = YES;
    cell.imageView.layer.cornerRadius = 5.0;

    UIImage *image = [UIImage imageNamed:[[dog types] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];;
    if ( image ) {
        cell.imageView.image = [image imageScaledToSize:CGSizeMake(50, 50)];
    }

Ответы [ 6 ]

0 голосов
/ 05 октября 2012

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

В моем случае у меня был следующий код

UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"some-Background.png"]];
[tempImageView setFrame:self.tableView.frame];
[self.tableView setBackgroundView:tempImageView];

но мое изображение было названо "some-background.png".

В симуляторе все выглядело нормально, но на телефоне я не получил фона. Кажется, что симулятор нечувствителен к регистру, а iPhone - нет.

0 голосов
/ 28 октября 2010

Попробуйте, если изображение входит в группу ресурсов.

UIImage * cellImage = [UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource: [[типы собак] stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]] *Type: @ "p4

0 голосов
/ 29 апреля 2010

замените ваш код этим и увидите журнал в консоли:

NSString *strImgName = [[dog types] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];

NSLog(@"%@",strImgName);

UIImage *image = [UIImage imageNamed:strImgName];

и посмотрите, что вы получаете в качестве имени изображения, и сопоставьте его с вашим фактическим изображением в папке ресурсов ... оно должно быть таким же (т.е. apple.png = apple.png), включая * .extensions

0 голосов
/ 27 апреля 2010

у вас может быть другое решение для получения округленных изображений, если вы хотите попробовать:

UIImageView * roundedView = [[UIImageView alloc] initWithImage: [UIImage imageNamed:@"wood.jpg"]];
// Get the Layer of any view
CALayer * l = [roundedView layer];
[l setMasksToBounds:YES];
[l setCornerRadius:10.0];

// You can even add a border
[l setBorderWidth:4.0];
[l setBorderColor:[[UIColor blueColor] CGColor]];
0 голосов
/ 26 апреля 2010

Проверьте версию iPhone SDK, в которой вы работаете в XCode.

должно быть так же, как iPhone OS вашего iPhone.

Может быть, это была проблема ...

0 голосов
/ 26 апреля 2010

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

Вы не можете сравнивать симулятор с iPhone, потому что симулятор использует преимущества Mac-OS, поэтому он может делать то, чего не может iPhone.

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

Спасибо

Madhup

...