Не могу нарисовать 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);