【问题标题】:Not properly add inputAccessoryView for UITextField没有为 UITextField 正确添加 inputAccessoryView
【发布时间】: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 是一个视图,设置在故事板上。

标签: ios objective-c iphone uitextfield inputaccessoryview


【解决方案1】:

您可以拨打[_textMessage reloadInputViews],代替[_text becomeFirstResponder]

【讨论】:

    【解决方案2】:

    您想要实现的是不可能的,这将导致递归,或者您可以做的是在屏幕底部和选择文本字段时,您可以将其与键盘的流程设置动画。如果我正确地回答了您的问题,我认为这是一个合适的解决方案。

    【讨论】:

    • 我不能这样做,因为我想在 inputAccsoryView 中显示“_viewText”。
    • 那就不要把_viewText里面的TextField拿出来。把它放在另一个视图中。这会导致递归。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    • 2015-10-24
    • 1970-01-01
    相关资源
    最近更新 更多