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.
}
4

2 回答 2

4

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

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

我建议打开雷达。

于 2013-10-19T19:17:45.663 回答
-2

似乎您正在屏幕上绘制一些上下文。您需要在 drawRect 方法中编写绘图代码。你在elseWhere写了代码。在 drawRect 方法中确保检查上下文是否也存在。

CGContextRef context = UIGraphicsGetCurrentContext();
   if (context) {
        // Do your stuff
           }
于 2013-10-19T18:50:50.797 回答