没有为 UITextField 正确添加 inputAccessoryView
Posted
技术标签:
【中文标题】没有为 UITextField 正确添加 inputAccessoryView【英文标题】:Not properly add inputAccessoryView for UITextField 【发布时间】:2015-07-06 06:19:40 【问题描述】:聊天应用需要inputAccessoryView
。
当我在UIButton
的点击事件上将inputAccessoryView
添加到UITextField
时。该视图完全设置为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];
提前致谢。
【问题讨论】:
不要将附件视图添加到_ViewText viewText 到底是什么?设置 inputAccessoryView 将输入视图从键盘更改为您的自定义视图。确保您的 viewText 是正确的视图。 在将_viewText
作为子视图添加到accessoryView
之前,您是否尝试过removeFromSuperView
。如果您需要 _viewText 作为子视图。
@MuhammadAdnan 我不能这样做,因为我想在 inputAccsoryView 中显示“_viewText”。
@shivam viewText 是一个视图,设置在故事板上。
【参考方案1】:
您可以拨打[_textMessage reloadInputViews]
,代替[_text becomeFirstResponder]
。
【讨论】:
【参考方案2】:您想要实现的是不可能的,这将导致递归,或者您可以做的是在屏幕底部和选择文本字段时,您可以将其与键盘的流程设置动画。如果我正确地回答了您的问题,我认为这是一个合适的解决方案。
【讨论】:
我不能这样做,因为我想在 inputAccsoryView 中显示“_viewText”。 那就不要把_viewText里面的TextField拿出来。把它放在另一个视图中。这会导致递归。以上是关于没有为 UITextField 正确添加 inputAccessoryView的主要内容,如果未能解决你的问题,请参考以下文章
添加到 UITableViewCell 的 contentView 的 UITextField 在 Popover 中无法正确显示(iPad、iOS 4.2)
在没有 UITextField 的情况下正确显示 UIDatePicker
UIImageView 的 UITextField 子视图没有响应触摸事件