Egyszerű módja, hogy tiltsa a UITextField?

szavazat
42

Van egy egyszerű módja annak, hogy tiltsa a UITextFieldkód?

Saját app 12 UITextField, amelyek mind alapértelmezés szerint bekapcsolt állapotban, de amikor egy változást észlel az én Segment Ellenőrző szeretnék letiltani néhány UITextFieldfüggően szegmens felhasználói csákány.

Csak azt kell tudni, hogyan kell kikapcsolni, vagy hogy nem szerkeszthető?

Kösz

A kérdést 01/03/2009 13:16
a forrás felhasználó
Más nyelveken...                            


5 válasz

szavazat
98

Az Objective-C:

textField.enabled = NO;

A Swift:

textField.isEnabled = false

Referencia: UIControl.isEnabled

Válaszolt 01/03/2009 13:31
a forrás felhasználó

szavazat
27

Ha Ön is szeretné, hogy jelezze, hogy a szöveg mező le van tiltva akkor még több kód:

használata esetén UITextBorderStyleRoundedRect, akkor csak kiszürkíthetők szöveg:

textField.enabled = NO;
textField.textColor = [UIColor lightGrayColor];

ha bármilyen más stílusban, akkor is kiszürkíthetők háttér:

textField.enabled = NO;
textField.backgroundColor = [UIColor lightGrayColor];
Válaszolt 01/05/2012 09:56
a forrás felhasználó

szavazat
10

Ez lenne a legegyszerűbb az összes, ha több szövegmező is:

A viewDidLoad: (állítsa a megbízott csak a szövegmezők amely nem lehet szerkeszteni.

self.textfield.delegate=self;

és helyezze ezt megbízottja funkció:

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

Ez az!

Válaszolt 08/07/2013 18:40
a forrás felhasználó

szavazat
1

Tedd kategória UIView.

A következő módszerek ebben a kategóriában.

-(void)disable {
    self.alpha = 0.5;
    self.userInteractionEnabled = FALSE;
}

-(void)enable {
    self.alpha = 1.0;
    self.userInteractionEnabled = TRUE;
}

akkor csak hívjon

yourTextField.disable();

Tulajdonképpen Használhatja ezt mindenképpen, amit akar.

Válaszolt 02/09/2016 06:51
a forrás felhasználó

szavazat
-1

Meg kell felelnie UITextFieldDelegate, és visszatér falseebben az eljárásban. Így a szöveg mező is választható, de ez nem áll rendelkezésre szerkesztésre és darabolás

Kód Swift 4

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
  return false
}
Válaszolt 18/05/2018 12:40
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more