cocoa touch - How do I programmatically draw to a display in iOS? -


i have method of drawing screen has many benefits application except small issue doesn't work... @ all.

i have ios program uiimageview widget , i'm trying programmatically draw looks black when run program. outlet declaration in header file:

@interface testviewcontroller : uiviewcontroller  @property (weak, nonatomic) iboutlet uiimageview *imageview;  @end 

...and implementation:

@implementation testviewcontroller  - (void)viewdidload {     [super viewdidload];     // additional setup after loading view, typically 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 resources can recreated. }  @end 

testviewcontroller delegate view controller , imageview outlet uiimageview widget. try draw 400 x 400 red box image , assign image widget. call setneedsdisplay measure.

what doing wrong? thank you!

these lines problem:

cgfloat colour[] = { 1, 0, 0, 1 }; cgcontextsetfillcolor(context, colour); 

delete them. instead, set fill color way:

 cgcontextsetfillcolorwithcolor(context, [uicolor redcolor].cgcolor); 

the reason issue failing create color space. needed have called cgcontextsetfillcolorspace, , failed so. that's needed if use cgcontextsetfillcolor. it's deprecated, don't use it. use cgcontextsetfillcolorwithcolor, docs recommend. takes care of color space issue you.


Comments

Popular posts from this blog

jquery - How can I dynamically add a browser tab? -

node.js - Getting the socket id,user id pair of a logged in user(s) -

keyboard - C++ GetAsyncKeyState alternative -