UITextField上的上下文0x0无效(Xcode 5)

我在我的应用程序中使用UITextField。 我正在使用[texfield becomeFirstResponder] 。 这工作得很好,加载视图时加载键盘。 但是,当我在点击UITextField后,又出现了这个错误。 我不明白为什么,但这里是我得到的输出:

 CGContextSetFillColorWithColor: invalid context 0x0. CGContextSetStrokeColorWithColor: invalid context 0x0. CGContextSaveGState: invalid context 0x0. CGContextSetFlatness: invalid context 0x0. CGContextAddPath: invalid context 0x0. CGContextDrawPath: invalid context 0x0. CGContextRestoreGState: invalid context 0x0. CGContextSaveGState: invalid context 0x0. CGContextSetFlatness: invalid context 0x0. CGContextAddPath: invalid context 0x0. CGContextDrawPath: invalid context 0x0. CGContextRestoreGState: invalid context 0x0. 

这是我的代码:

 // ViewController.h @interface ViewController : UIViewController @property (strong, nonatomic) IBOutlet UITextField *textField; @end // ViewController.m @synthesize textField; - (void)viewDidLoad { [textField becomeFirstResponder]; [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } 

我相信你已经发现了一个iOS错误(或者至less是一个模拟器错误)。 您可以更简单地重现它:

  • 新build项目(单一视图)
  • 将UITextField拖到Storyboard上
  • 点击UITextField。
  • 点击UITextField
  • 点击UITextField
  • (在某些情况下,您需要再次单击UITextField)
  • 观察错误

我build议打开雷达。

看来你正在屏幕上绘制一些上下文。 您需要在drawRect方法中编写绘图代码。 你的螨虫已经把代码写在其他地方了。 在drawRect方法中,确保你检查上下文是否存在。

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