Можно ли изменить цвет clearButtonMode на текстовом поле?UITextField clearButtonMode color
показывает й окрашен в сером цвете темного цвета, чтобы удалить TextField,
, но я могу показать эту кнопку с белым цветом?
благодарит
Можно ли изменить цвет clearButtonMode на текстовом поле?UITextField clearButtonMode color
показывает й окрашен в сером цвете темного цвета, чтобы удалить TextField,
, но я могу показать эту кнопку с белым цветом?
благодарит
Вам нужно создать свое собственное четкое изображение кнопки в этом случае. Я бы предложил сделать снимок экрана с помощью кнопки очистки и редактирования в Photoshop.
Вы можете взять это изображение и создать UIButton с размерами изображения. Оттуда вы можете установить его как правый элемент UITextField. Как так:
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;
я напечатал, что без проверки синтаксиса и что не так вы хотите, чтобы проверить его перед запуском. Вы также захотите заменить clear_button.png тем, что имя вашего изображения.
Вам также необходимо написать свой собственный метод, чтобы очистить текстовое поле.
уборщик способ заключается в реализации категории на UITextField с помощью этого метода:
- (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 = @"";
}
Я думаю, вам следует использовать параметр «image» вместо созданного «clear-button» UIImage. – ingaham
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 = ""
}
}
Не добавляйте [тот же ответ] (http://stackoverflow.com/a/39831522/5292302) к нескольким вопросам. Ответьте на лучший и обозначьте остальные как дубликаты. См. [Можно ли добавить дублирующий ответ на несколько вопросов?] (Http://meta.stackexchange.com/questions/104227/is-it-acceptable-to-add-a-duplica te-answer-to- несколько-вопросов) –
В то время вы настраиваете в TextField, использование:
let clearButton : UIButton = textField.value(forKey: "_clearButton") as! UIButton
let image = UIImage(named: "ClearWhite")
clearButton.setImage(image, for: .normal)
clearButton.backgroundColor = UIColor.clear
Это больше не работает под iOS 7. Вместо этого вы должны создать кнопку с фреймом. – Legoless
Яблоко должно действительно обеспечить элегантный способ сделать это. – vzm