コード内にUITextField
を簡単に無効にする方法はありますか?UITextFieldを無効にする簡単な方法は?
私のアプリはデフォルトですべてオンになっていますが、セグメントコントロールで変更が検出されたら、ユーザーが選択したセグメントに応じてUITextField
の一部を無効にします。
無効にする方法や編集不可能にする方法を知りたいだけですか?
おかげ
コード内にUITextField
を簡単に無効にする方法はありますか?UITextFieldを無効にする簡単な方法は?
私のアプリはデフォルトですべてオンになっていますが、セグメントコントロールで変更が検出されたら、ユーザーが選択したセグメントに応じてUITextField
の一部を無効にします。
無効にする方法や編集不可能にする方法を知りたいだけですか?
おかげ
この試してみてください:あなたは、テキストフィールドは、あなたがより多くのコードを追加する必要が無効になっていることを示すためにしたい場合は
textField.enabled = NO;
を:
をUITextBorderStyleRoundedRectを使用している場合、あなただけの灰色することができますテキスト:
textField.enabled = NO;
textField.textColor = [UIColor lightGrayColor];
他のスタイルを使用している場合は、 nはまた、背景を灰色:のviewDidLoadで
:(のみ編集可能であってはならないテキストフィールドのためのデリゲートを設定
textField.enabled = NO;
textField.backgroundColor = [UIColor lightGrayColor];
は、これはあまりにもあなたの複数のテキストフィールドとき、すべての最も簡単でしょう。
self.textfield.delegate=self;
と、このデリゲート関数の挿入:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
return NO;
}
厥それを!
これは、すでに投稿された 'textField.enabled = NO'より簡単ですか?私はこれをしなかった。これは正当な代替ソリューションなので、いくつかの辺の場合に便利かもしれない(例えば、異なるテキストフィールドのロードの代理人であるオブジェクトがある場合、無効にされているものが頻繁に変更されます)。しかし、ほとんどのシナリオでは、受け入れられた答えよりも単純ではありません。 –
あなたはいつもこのようにチェックすることができます: 'code' if(textfield == self.aTextField){//テキストフィールドを無効にするかどうかチェックします。 else { –
これは、複数のテキストフィールドがある場合に最適なソリューションです!ありがとうございますAnkish – FouZ
UIViewでカテゴリを作成します。
このカテゴリには次のメソッドが追加されています。
-(void)disable {
self.alpha = 0.5;
self.userInteractionEnabled = FALSE;
}
-(void)enable {
self.alpha = 1.0;
self.userInteractionEnabled = TRUE;
}
は、ちょうどあなたがあなたが望む任意のビューにこれを使用することができ、実際に
yourTextField.disable();
呼び出します。
笑、私はこれをすべて試してみたことを確信していたが、それは働いているので、タイプミスまたは何かをしたに違いない...あなたの命の恩人...ありがとう:) –
あなたが*有効にしておくと、getterはtextField.enabledではなくtextField.isEnabledです。 – mk12
プロパティ 'enabled'は、UIControlのプロパティを継承します。 NOの場合は、タッチイベントを無視します。それはアプローチの良い仕事です。 – Allen