2010-08-09 16 views
5

Mam UITextField w UITableViewCell. Z jakiegoś powodu przycisk "clear" nie jest wyrównany do tekstu textField. Oto mój kod textField:Dlaczego przycisk wyczyść nie jest wyrównany z tekstem w UITextField?


cell.selectionStyle = UITableViewCellSelectionStyleNone; 
usernameField = [[UITextField alloc] initWithFrame:CGRectMake(22, 10, cell.contentView.frame.size.width, cell.contentView.frame.size.height)]; 
usernameField.adjustsFontSizeToFitWidth = YES; 
usernameField.placeholder = @"Username"; 
usernameField.backgroundColor = [UIColor clearColor]; 
usernameField.keyboardType = UIKeyboardTypeDefault; 
usernameField.autocapitalizationType = UITextAutocorrectionTypeNo; 
usernameField.autocorrectionType = UITextAutocorrectionTypeNo; 
usernameField.returnKeyType = UIReturnKeyNext; 
usernameField.delegate = self; 
usernameField.clearButtonMode = UITextFieldViewModeAlways; 
[usernameField setEnabled:YES]; 
[cell addSubview:usernameField]; 
[usernameField becomeFirstResponder]; 
[usernameField release]; 

A oto obraz wykazać problem: Screenshot

Edit: Próbowałem też z - (CGRect)clearButtonRectForBounds:(CGRect)bounds i nadal nic

Odpowiedz

19

Jaka jest Twoja nieruchomość contentVerticalAlignment? Widziałem ten problem, gdy przycisk usuwania jest wyśrodkowany, ale tekst jest wyrównany do góry. Spróbuj ustawić wyrównanie pola tekstowego do następującego:

usernameField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; 

Masz szczęście?

+0

Bardzo dziękuję za pomoc, ale teraz tekst i wyraźny przycisk są wyrównane do dolnej części komórki. Ten kod faktycznie wyrównuje tekst, a nie przycisk kasowania. Chcę ustawić jasny przycisk na środku komórki. Jakieś sugestie? –

+0

To zadziałało! Właśnie zmieniłem atrybuty CGRect, aby zmieściły się w klarownym przycisku. –

+0

Dzięki. aby wyjaśnić, wziąłem pod uwagę wysokość komórki i pole tekstowe, aby skorygować przesunięcie pionowe. CGRect newFrame = albumTitleTextField.frame; newFrame.origin.y = (cell.bounds.size.height - newFrame.size.height)/2.0; [albumTitleTextField setFrame: newFrame]; –

Powiązane problemy