Не могу нарисовать UImage в UIView::drawRect

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

Когда я настраиваю свой UIView, я делаю следующее:

myUiView.backgroundColor = [UIColor clearColor];
myUiView.opaque = NO;

Я создаю и сохраняю UIImage в функции init моего UIView:

image = [[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"test" ofType:@"png"]] retain];

тогда мой drawRect выглядит так:

- (void) drawRect:(CGRect) rect
{
    [image drawInRect:self.bounds];
}

В конечном счете, я буду манипулировать этим UIImage с помощью растрового контекста, а затем в drawRect создам CGImage вне контекста и визуализирую его, но сейчас я просто пытаюсь получить его для рендеринга известного изображения.

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

Итак, я вернулся к тому, что кажется самым простым способом нарисовать изображение, но оно не работает.

Любая помощь будет принята с благодарностью.

Заранее спасибо.

1 ответ

Решение

Прежде всего, убедитесь, что размер и положение self.bounds это то, что вы хотите, чтобы они были. Если размер {0,0}, ничего не будет отображаться. Проверьте с помощью этой функции:

NSLog(@"%@", NSStringFromCGRect(self.bounds));

Также убедитесь, что изображение не ноль:

NSLog(@"%@", image);

Другие вопросы по тегам