Не могу нарисовать UImage в UIView :: drawRect - PullRequest
0 голосов
/ 05 июня 2010

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

Когда я настраиваю свой 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 Ответ

4 голосов
/ 05 июня 2010

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

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

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

NSLog(@"%@", image);

...