2011-01-24 11 views
3

選択した日付を表示するための日とテキストフィールドを選択するための選択リストがあります。これは、テキストフィールドにクロスシンボルがでacheivedさキーボードを辞めたり隠したりするにはどうすればいいですか?

alt text

....私は、任意の日付を選択した場合、それはこのようになりますこのように...

alt text

になりますコード....

textField.clearButtonMode=UITextFieldViewModeAlways; 

私の問題は、この十字ボタンをクリックしている間、キーボードが表示されたことです。これは

alt text

....のようですが、私は十字ボタンのみテキストフィールドを消去するためにしたいです。キーボードが来てはいけません。出来ますか?

答えて

3

をごUITextFieldDelegateでは、方法- (BOOL)textFieldShouldBeginEditing:(UITextField *)textFieldを実装し、NOを返します。

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { 
return NO; 
} 
+0

ありがとうございました...それは動作します:) –

1

そのテキストフィールドのeditableプロパティをfalseに設定してみてください。テキストフィールドの「編集が始まった」メソッドで

3

、次の行を追加します。これにより

[UITextField resignFirstResponder];

を所定の位置に、そのキーボードが表示されません。

ハッピーコーディング:)

+0

これは間違った場所です。キーボードのアニメーションが表示されてから消えてしまうことがあります。これを行う適切な場所は、テキストフィールドがアクティブになる前であるため、キーボードは表示されません。 – vfn

+0

良い点vfn。私はすぐにそれをテストしたときにコードが私のiPhone 4で働いたので、それについてはあまり考えなかった。 –

+0

ありがとうAurum .. –

0

他の人が言ったように、あなたはUITextFieldDelegateプロトコル経由と[texfField resignFirstResponder]法によるキーボードを非表示にすることができます。代わりに、提案されているように、キーボードが完全に表示されないようにすることもできます。

しかし、このボタンの場合、テキストフィールドのclearButtonModeプロパティを設定するのは若いです。使用できるオプションが何であるかを確認するには、次のようにお読みください。http://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextField_Class/Reference/UITextField.html#//apple_ref/doc/c_ref/UITextFieldViewMode

+0

'UITextFieldDelegate'はクラスではないプロトコルです。最初のレスポンダーとして辞任するには、テキストフィールドがアクティブになったことを通知する必要があります。そのためには、プロトコルを実装する必要があるため、ORはありません。 – vfn

+0

@vfn私は訂正しました。それは私のタイムゾーンの早い段階ではない。それを指摘してくれてありがとう。 – Moshe

関連する問題