czy mogę zmienić kolor clearButtonMode na textField?UITextField clearButtonMode color
pokazuje X, który jest szary ciemny kolor, aby usunąć textField,
ale mogę pokazać ten przycisk z białym kolorze?
dzięki
czy mogę zmienić kolor clearButtonMode na textField?UITextField clearButtonMode color
pokazuje X, który jest szary ciemny kolor, aby usunąć textField,
ale mogę pokazać ten przycisk z białym kolorze?
dzięki
Musisz stworzyć własny przycisk Wyczyść obraz w tej sprawie. Sugerowałbym zrobienie zrzutu ekranu wyraźnego przycisku i edycji w Photoshopie.
Możesz zrobić to zdjęcie i utworzyć UIButton z wymiarami obrazu. Stamtąd możesz ustawić go jako prawy widok UITextField. Podobnie jak:
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"clear_button.png"] forState:UIControlStateNormal];
[button setFrame:CGRectMake(0.0f, 0.0f, 15.0f, 15.0f)]; // Required for iOS7
theTextField.rightView = button;
theTextField.rightViewMode = UITextFieldViewModeWhileEditing;
Napisałem to bez sprawdzania składni i co nie, więc będziesz chciał to sprawdzić przed uruchomieniem. Będziesz także chciał zastąpić clear_button.png dowolną nazwą obrazu.
Należy również napisać własną metodę czyszczenia pola tekstowego.
Czystsze sposobem jest wdrożenie kategorię na UITextField z tą metodą:
- (void)modifyClearButtonWithImage:(UIImage *)image {
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:image forState:UIControlStateNormal];
[button setFrame:CGRectMake(0.0f, 0.0f, 15.0f, 15.0f)];
[button addTarget:self action:@selector(clear:) forControlEvents:UIControlEventTouchUpInside];
self.rightView = button;
self.rightViewMode = UITextFieldViewModeWhileEditing;
}
-(IBAction)clear:(id)sender{
self.text = @"";
}
Myślę, że powinieneś użyć parametru 'image' zamiast stworzonego" Ull "przycisku" clear-button ". – ingaham
wersji Swift:
extension UITextField {
func modifyClearButtonWithImage(image : UIImage) {
let clearButton = UIButton(type: .Custom)
clearButton.setImage(image, forState: .Normal)
clearButton.frame = CGRectMake(0, 0, 40, 40)
clearButton.contentMode = .ScaleAspectFit
clearButton.addTarget(self, action: #selector(UITextField.clear(_:)), forControlEvents: .TouchUpInside)
self.rightView = clearButton
self.rightViewMode = .WhileEditing
}
func clear(sender : AnyObject) {
self.text = ""
}
}
Proszę nie dodawać [tej samej odpowiedzi] (http://stackoverflow.com/a/39831522/5292302) do wielu pytań. Odpowiedz na najlepszą i oznacz flagę jako duplikaty. Zobacz [Czy dopuszczalne jest dodanie duplikowanej odpowiedzi na kilka pytań?] (Http://meta.stackexchange.com/questions/104227/is-it-acceptable-to-add-a-duplica te-answer-to- kilka pytań) –
w momencie konfigurujesz textField, przeznaczenie:
let clearButton : UIButton = textField.value(forKey: "_clearButton") as! UIButton
let image = UIImage(named: "ClearWhite")
clearButton.setImage(image, for: .normal)
clearButton.backgroundColor = UIColor.clear
To nie działa już w systemie iOS 7. Zamiast tego należy utworzyć przycisk z ramką. – Legoless
Apple powinien naprawdę zapewnić elegancki sposób, aby to się stało – vzm