У меня есть метод рисования на экране, который имеет много преимуществ для моего приложения, за исключением небольшой проблемы, что она не работает ... вообще.Как программно рисовать на дисплее в iOS?
У меня есть программа iOS с виджетами UIImageView, и я пытаюсь программно врисовать ее, но она просто выглядит черной, когда я запускаю программу. Это объявление на выходе в моем файле заголовка:
@interface TestViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@end
... и это моя реализация:
@implementation TestViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIGraphicsBeginImageContextWithOptions(CGSizeMake(400, 400), YES, 0.0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGFloat colour[] = { 1, 0, 0, 1 };
CGContextSetFillColor(context, colour);
CGContextFillRect(context, CGRectMake(0, 0, 400, 400));
self.imageView.image = UIGraphicsGetImageFromCurrentImageContext();
[self.imageView setNeedsDisplay];
UIGraphicsEndImageContext();
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
TestViewController
является делегатом контроллера представления и imageView
является выход для UIImageView
виджета , Я пытаюсь нарисовать красное поле 400 x 400 в изображение и назначить это изображение виджету. Я даже звоню setNeedsDisplay
для хорошей меры.
Что я делаю неправильно? Спасибо!