2016-07-29 6 views
0

Добавить UIButton в leftView UITextField, но нашел, что это невозможно слушать событие щелчка при нажатии UIButtonUITextField leftView нажмите событие не может слушать

код:

UIButton *cleanButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 15, 15)]; 
[cleanButton setBackgroundImage:[UIImage imageNamed:@"clean_select_member"] forState:UIControlStateNormal]; 
[cleanButton addTarget:self action:@selector(cleanSendMessageToUser)forControlEvents:UIControlEventTouchUpInside]; 
self.inputTextField.leftView = cleanButton; 
self.inputTextField.leftViewMode = UITextFieldViewModeUnlessEditing; 
+0

вы можете оставить метод cleanSendMessageToUser? –

+0

@AshishThakkar '- (void) cleanSendMessageToUser { self.inputTextField.leftView = nil; self.inputTextField.leftViewMode = UITextFieldViewModeNever; self.inputTextField.placeholder = nil; } ' –

+0

Вы имеете в виду ваш метод' - (void) cleanSendMessageToUser' не вызывается, когда вы нажимаете кнопку? –

ответ

0

Try ниже решения. 15 x 15 очень мало и трудно на ощупь.

Я дал 30 х 30, хотя яблоко рекомендуется минимальная площадь прикосновения 44 х 44.

Обеспечить достаточное расстояние для интерактивных элементов. Попытайтесь поддерживать минимальную область видимости 44pt x 44pt для всех элементов управления.

UIButton *cleanButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 30, 30)]; 
[cleanButton setBackgroundImage:[UIImage imageNamed:@"clean_select_member"] forState:UIControlStateNormal]; 
[cleanButton addTarget:self action:@selector(cleanSendMessageToUser)forControlEvents:UIControlEventTouchUpInside]; 
self.inputTextField.leftView = cleanButton; 
self.inputTextField.leftViewMode = UITextFieldViewModeUnlessEditing; 
+0

Проблема не решена –

+0

Проблема заключается не в том, что кнопка не может щелкнуть, а затем нажать кнопку, чтобы вызвать [textField getFirstResponder] –

+0

@ C.Bin, когда кнопка нажата, вы хотите, чтобы текстовое поле стало первым ответчиком? – Rajesh

Смежные вопросы