我想在第一响应者(即显示键盘)时向UITextField
添加输入附件视图。显然,在此状态下将UIView
分配给inputAccessoryView
属性不会显示此视图。我必须先解雇键盘并重新选择UITextField
。在键盘可见时向UITextField添加输入附件视图
有没有方法可以添加输入附件视图而不关闭和重新选择?
我想在第一响应者(即显示键盘)时向UITextField
添加输入附件视图。显然,在此状态下将UIView
分配给inputAccessoryView
属性不会显示此视图。我必须先解雇键盘并重新选择UITextField
。在键盘可见时向UITextField添加输入附件视图
有没有方法可以添加输入附件视图而不关闭和重新选择?
如果可能,只分配inputAccessoryView
一次。如果您需要对其进行定制,并且只能确定在成为第一响应者之前非常晚,那么我仍然只会分配一次。但在UITextFieldDelegate
方法textFieldShouldBeginEditing:
中自定义inputAccessoryView
的子视图。像这样:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
[self setupInputAccessoryViewForTextField:textField];
return YES;
}
编辑:根据@ fabian789此方法不起作用。因人而异。
你可以尝试调用
[myTextField setNeedsLayout];
[myTextField setNeedsRedraw];
,迫使它重绘自己?
声明:这正是我想要的,我不知道它会起作用!
+1不错的想法,但不幸的是它不起作用。 – fabian789 2011-05-10 17:25:55
我只是想动态地添加/删除输入附件视图。 最后我简单地做这样的:
[self.responceTextView resignFirstResponder];
self.responceTextView.inputAccessoryView = keyBoardToolbar;
[self.responceTextView becomeFirstResponder];
好主意,谢谢。我现在删除并重新添加子视图。 – fabian789 2011-05-11 14:18:24