コードでUITextField
を無効にする簡単な方法はありますか?
私のアプリには12個のUITextField
があり、これらはすべてデフォルトでオンになっていますが、セグメントコントロールで変更が検出された場合、ユーザーが選択したセグメントに応じてUITextField
の一部を無効にします。
無効にする方法、または編集不可にする方法を知っている必要がありますか?
ありがとう
テキストフィールドが無効になっていることも示す場合は、さらにコードを追加する必要があります。
uITextBorderStyleRoundedRectを使用している場合、テキストのみをグレーアウトできます。
textField.enabled = NO;
textField.textColor = [UIColor lightGrayColor];
他のスタイルを使用している場合、背景をグレーアウトすることもできます。
textField.enabled = NO;
textField.backgroundColor = [UIColor lightGrayColor];
複数のテキストフィールドもある場合、これは最も簡単です:
viewDidLoad :(デリゲートは編集不可のテキストフィールドにのみ設定します。
self.textfield.delegate=self;
そして、このデリゲート関数を挿入します:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
return NO;
}
それでおしまい!
UIViewでカテゴリを作成します。
そのカテゴリに次のメソッドを追加します。
-(void)disable {
self.alpha = 0.5;
self.userInteractionEnabled = FALSE;
}
-(void)enable {
self.alpha = 1.0;
self.userInteractionEnabled = TRUE;
}
それからただ電話する
yourTextField.disable();
実際には、これを任意のビューで使用できます。