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 に答える