Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UISearchBar CGContext ERROR

I have a UISearchBar inside a view, whenever I tap on it, after the keyboard comes up -

after -(BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar

it sends this to the console:

<Error>: CGContextSetStrokeColorWithColor: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.

It repeats the same error. I am wonderring what exactly could be the problem?

I believe there is a NULL context out there but what it has to do with a UISearchBar? tnx.

like image 207
henTdev Avatar asked Jul 21 '13 23:07

henTdev


1 Answers

It´s a known issue on which Apple is working on. Should be fixed in the next beta release.

Have a look here: Xcode Number pad with decimal error

Edit: For those who have that issue with a textfield maybe this should get you around:

From Apple Developer Forums bye Popeye7 - So all credits to him

I have found a fix for this issue! I have 3 apps that this is now broken on, so, to me... this is a good find. Found the solution on StackOverflow... combined two answers to a similar question.

In my case, a user taps a barButtonItem and an "alert" or dialog appears.

I see the big difference is in how the UIAlertView is allocated. The "NEW WAY" has the textField showing and brings up the keyboard as it should.

I am now able to see the textField, enter text and it works the way I expect it to. Adding the "initWithFrame" back in has no affect on the textField placement.

OLD WAY....

- (IBAction)addEntryTapped:(id)sender  {      [_editorTextView resignFirstResponder];     [self saveTextChanges];     [self dismissPopovers];      _prompt = [[UIAlertView alloc] initWithTitle:@"New Entry Title..."                                          message:@"\n\n\n" // IMPORTANT                                         delegate:self                                cancelButtonTitle:@"Cancel"                                otherButtonTitles:@"OK", nil];      _textField = [[UITextField alloc] initWithFrame:CGRectMake(17.0, 55.0, 250.0, 25.0)];      [_textField setBackgroundColor:[UIColor whiteColor]];     [_textField setPlaceholder:@"New Entry Title"];      _textField.borderStyle = UITextBorderStyleRoundedRect;     _textField.autocapitalizationType = UITextAutocapitalizationTypeWords;     _textField.autocorrectionType = UITextAutocorrectionTypeNo;      [_prompt addSubview:_textField];     [_prompt show];      // set cursor and show      [_textField becomeFirstResponder]; } 

NEW WAY...

- (IBAction) addEntryTapped:(id)sender {     [_editorTextView resignFirstResponder];     [self saveTextChanges];     [self dismissPopovers];      _prompt = [[UIAlertView alloc] init];     _prompt.alertViewStyle = UIAlertViewStylePlainTextInput;      UITextField *text = [_prompt textFieldAtIndex:0];     _textField = text;      [_prompt setDelegate:self];     [_prompt setTitle:@"New Entry Title..."];     [_prompt setMessage:@""];     [_prompt addButtonWithTitle:@"Cancel"];     [_prompt addButtonWithTitle:@"OK"];     [_textField setPlaceholder:@"New Entry Title"];      _textField.autocapitalizationType = UITextAutocapitalizationTypeWords;     _textField.autocorrectionType = UITextAutocorrectionTypeNo;      [_prompt show];      // set cursor and show keyboard     [_textField becomeFirstResponder]; }   

Message was edited by Popeye7 on 9/25/13 at 12:25 PM

Message was edited by Popeye7 on 9/25/13 at 12:33 PM

like image 199
Henning Schulz Avatar answered Sep 19 '22 11:09

Henning Schulz