ios - 当键盘在 iPad 上消失时,UISearchBar 取消按钮被禁用

标签 ios objective-c ipad keyboard uisearchbar

我将 UISearchBar 放在导航栏中。当我点击栏时,它会自行展开并显示取消按钮。如果您在字段中键入内容,然后点击键盘上的“搜索”,它会关闭显示结果的键盘。但此刻我遇到了一个大问题:取消按钮现在被禁用(变灰),如果我点击它,首先键盘会打开,然后我可以再次点击取消退出搜索。是否可以始终保持“取消”按钮处于事件状态,以便我可以直接点击它退出搜索?

最佳答案

searchBar.showsCancelButton = YES; 

您可以在 UISearchBar 上创建另一个自定义按钮。

for (UIView *subView in searchBar.subviews) {
        if([subView isKindOfClass:[UIButton class]]) {

            UIButton *cancelButton = (UIButton *)[searchBar.subviews lastObject];
            //Make changes to the cancelButton here
            [cancelButton setEnabled:YES];

        }
   }

关于ios - 当键盘在 iPad 上消失时,UISearchBar 取消按钮被禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40547066/

相关文章:

iphone - 使用 iOS 进行 SMTP 发送的框架

ios - 在objective c中实现RC4加密和URL编码

objective-c - 如何从 AudioBufferList 中读取样本?

objective-c - 启用 "Defined Module"的 Xcode 单元测试目标中没有代码完成或语法突出显示

objective-c - WebScriptObject JS 函数回调

objective-c - TextView 处于焦点时隐藏 iPad 键盘的 SDK 安全方法

iphone - 新版本的xcode是否支持跨项目引用以添加静态库进行链接?

ios - 当根 Controller 是 UIHostingController 时隐藏 UINavigationController 的 navigationBar

ios - 标签大小以适应 UITableView

objective-c - 如何在 NSCollectionView 中绘制 bezierPath?