2013-10-19 5 views
5

私のアプリケーションでUITextFieldを使用しています。私は[texfield becomeFirstResponder]を使用しています。これはうまく動作し、ビューが読み込まれるときにキーボードを読み込みます。しかし、このエラーは、UITextFieldが再び立ち上がった後に再びクリックすると表示されます。なぜ私は正確に理解していないが、ここで私は取得しています出力されます。ここではUITextFieldの無効なコンテキスト0x0(Xcode 5)

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. 
} 
+0

さらにコードを投稿できますか? ? – Priyatham51

+1

私は本当に私が笑を追加できるソースコードがどれくらいあるか分かりません。それはかなり自明です。私はそれを編集@ Priyatham51 – Zack

+0

これは、このバグについて驚くべきことです。ゼロコードで再現することができます。テキストフィールドのコンセントは不要です。ただし、警告を再現するには、ダブルタップするときにテキストフィールドを完全に空にする必要があります。さらに、このバグは、シミュレータとデバイスの両方でiOS 7.0.3でも発生します。 – bilobatum

答えて

4

iOSのバグ(または少なくともシミュレータのバグ)が見つかりました。あなたも、より簡単に、それを再現することができます

  • 新規プロジェクト(シングルビュー)
  • ドラッグのUITextFieldをストーリーボード上に
  • 実行
  • をクリックしUITextFieldの上。
  • UITextFieldの
  • をクリックし(いくつかのケースでは、あなたが再びのUITextFieldのオフにクリックする必要があります)
  • がエラーに

を観察するUITextField

  • の[オフ]をクリックします私はレーダーを開くことをお勧めします。

  • +0

    ありがとうございます。私はこれがシミュレータのバグかもしれないとは思っていましたが、わかりませんでした。私はちょうどこのアプリケーションが生産され、その後動作しないことを恐れていたので、私はスタックオーバーフローでそれから抜け出すだろうと思った。レーダーが何であるか説明できますか? – Zack

    +3

    レーダーは、bugreport.apple.comのニックネームです。 「レーダー」はそのシステムで開かれた欠陥です。 (あなたのエンターテイメントのために、 "レーダー"という名前はTVシリーズのMASHから来ています。その名前のキャラクターはあなたが尋ねる前にいつも望んでいたことを知っていました) –

    +0

    @Zackあなたはこのレーダーを埋めましたか?私はまったく同じことを経験しています。 – amb

    -2

    それはそうですが。 drawRectメソッドで描画するコードを記述する必要があります。あなたはダニがコードelseWhereを書いています。 drawRectメソッド内で、コンテキストが存在するかどうかを確認してください。

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

    Xcode 5のストーリーボードでUITextFieldを使用して、上で示したソースコードを文字通りコピー&ペーストすると、作成したUITextFieldをクリックするとエラーが表示されます。 – Zack

    関連する問題