ios - 关闭键盘后让 inputAccessoryView 可见

标签 ios user-interface uitoolbar uikeyboard

我想做的是在 iPad 上的 Safari 中创建类似于“在页面上查找”搜索功能的东西。

我正在使用一个包含一些项目的 UIToolbar 并通过将它设置为 UITextField 上的一个 inputAccessoryView 将它连接到键盘.就像一个魅力,但有一件事我无法弄清楚。在 Safari 中,当您搜索某些内容时,键盘会消失,但工具栏仍保留在屏幕底部。

有没有人知道如何完成这个?我能想到的唯一解决方案是响应键盘关闭事件,然后拉出 UIToolBar 并创建将其移动到屏幕底部的自定义动画。但这是hacky。我正在寻找更优雅的解决方案。当键盘关闭时,可以让我决定如何处理输入附件 View 。

最佳答案

是这样实现的:

将 UIToolbar 分配给 View Controller 中的属性:

@property (strong, nonatomic) UIToolbar *inputAccessoryToolbar;

在您的顶 View Controller 中,添加这些方法:

- (BOOL)canBecomeFirstResponder{

    return YES;

}

- (UIView *)inputAccessoryView{

    return self.inputAccessoryToolbar;

}

然后(可选,因为通常不需要),每当键盘被隐藏时,只需调用:

[self becomeFirstResponder];

这样,您的 inputAccessoryToolbar 将同时是您的 View Controller 和 TextView 的输入附件 View 。

关于ios - 关闭键盘后让 inputAccessoryView 可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10768659/

相关文章:

ios - 是否有可能拥有一个保留计数为 -1 的对象?

ios - 在 NSMutablearray 中添加新实例时发生奇怪的崩溃

javascript - jQuery UI Datepicker - 禁用当前日期但不突出显示

graphics - 为小型设备编写用户界面

objective-c - iOS 上的核心数据替代方案

ios - 在 iOS Core Audio 中——查找 OSStatus 错误的最佳方式是什么(即 -43?)

java - 如何打开特定的 Jframe 作为主 jframe?

ios - 半透明为 false 时 UIToolBar 上的 Bar Tint

uitoolbar - iOS 11 UIToolBar自动扩展

ios - 工具栏 sethidden=TRUE、sethidden=FALSE