2015-07-06 3 views
1

Для приложения чата существует требование inputAccessoryView.Неправильно добавить inputAccessoryView для UITextField

Когда я добавляю inputAccessoryView в UITextField по событию крана UIButton. Это представление установлено как inputAccessoryView, но текстовое поле не становится первым ответчиком.

(Примечание: Супер вид textfield является viewText.)

- (IBAction)btnOpenTextField:(id)sender 
{ 
    UIView *accessoryView=[[UIView alloc]init]; 
    accessoryView.frame=CGRectMake(0,0, _viewText.frame.size.width, _viewText.frame.size.height); 
    [accessoryView addSubview:_viewText]; 

    _txtMessage.inputAccessoryView = accessoryView; 
    [_txtMessage becomeFirstResponder]; 
} 

Заранее спасибо.

+0

Не добавляйте аксессуарыView в _ViewText –

+0

Что такое viewText точно? Установка inputAccessoryView изменит представление ввода с клавиатуры на ваш пользовательский режим. Убедитесь, что ваш viewText является правильным представлением. – shivam

+0

Вы пытались 'removeFromSuperView' перед добавлением' _viewText' в качестве Subview для 'accessoriesView'. Если вам нужен _viewText как subview. – Mrug

ответ

0

То, чего вы хотите достичь, совершенно невозможно, это вызовет рекурсию, иначе вы можете поместить текстовое поле в нижней части экрана, и когда текстовое поле выбрано, вы можете оживить его с помощью потока клавиатуры , Я думаю, что это подходящее решение, если я правильно понял ваш вопрос.

+0

Я не могу этого сделать, потому что я хочу отображать '_viewText' в inputAccsoryView. –

+0

Затем не удаляйте TextField внутри _viewText. сохраните его в другом представлении. Это вызывает рекурсию. – Mrug

0

[_textMessage reloadInputViews], заменяя [_text becomeFirstResponder].

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