What is this invalid 0x0 context?

I wrote the following code in ViewDidLoad

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. -(void)viewDidLoad { [super viewDidLoad]; NSString *str = [NSString stringWithFormat:@"Veer"]; CGColorSpaceRef rgbColorspace = CGColorSpaceCreateDeviceRGB(); CGFloat values[4] = {55.0, 0.0, 0.0, 1.0}; CGColorRef glowColor = CGColorCreate(rgbColorspace, values); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetShadowWithColor( context, CGSizeMake( 5.0, 0.0 ), 20.0f, glowColor); [str drawAtPoint:CGPointMake(10.5f, 0.5f) withFont:[UIFont fontWithName:@"Helvetica" size:100.0f]]; UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(60, 200, 250, 100)]; [label setBackgroundColor:[UIColor clearColor]]; label.font=[UIFont fontWithName:@"DBLCDTempBlack" size:50.0]; label.textColor = [UIColor colorWithRed:0.0 green:1.0 blue:0.0 alpha:1.0]; [label setText:str]; [self.view addSubview:label]; } 

In the console, I saw how

  Testing Clock[3286] <Error>: CGContextSetStyle: invalid context 0x0 Testing Clock[3286] <Error>: CGContextSetFont: invalid context 0x0 Testing Clock[3286] <Error>: CGContextSetTextMatrix: invalid context 0x0 Testing Clock[3286] <Error>: CGContextSetFontSize: invalid context 0x0 Testing Clock[3286] <Error>: CGContextSetTextPosition: invalid context 0x0 Testing Clock[3286] <Error>: CGContextShowGlyphsWithAdvances: invalid context 0x0 
+4
source share
2 answers

You must port this custom drawing code from viewDidLoad and port it to drawRect.

You also need to subclass the view if you want to implement your own drawRect method.

Checkout in this example: http://ykyuen.wordpress.com/2010/08/27/iphone-uiview-with-border/

+4
source

You just need to check if the context exists before drawing:

 CGContextRef context = UIGraphicsGetCurrentContext(); if (context) { // Do your stuff } 
+4
source

All Articles