- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 iPhone 应用程序,它包含一个 UITableView
,顶部有一个 UISearchBar
。当用户在 UISearchBar
中键入内容时,UITableView
的内容会被适本地过滤。当用户删除 UISearchBar
中的所有文本时,搜索栏不再是第一响应者,tableview 再次变为未过滤状态。这是相关的委托(delegate)代码:
- (void) searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
if(searchBar.text.length == 0)
{
[self.searchBar resignFirstResponder];
[self.myModel stopFiltering];
[self.tableView reloadData];
}
}
这个问题是,当用户对着他们的电话说话并尝试在搜索栏中进行语音到文本的转换(通过 Siri)时,textdidChange
方法返回一个空字符串作为搜索文本。因此,我无法知道用户是否正在对着他们的电话说话,或者他们是否删除了该字段中的所有文本。这种行为是预期的吗?
最佳答案
试试这个并检查您是否可以进入 IF 语句
:
- (void) searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
if([searchText length]== 0)
{
[self.searchBar resignFirstResponder];
[self.myModel stopFiltering];
[self.tableView reloadData];
}
}
关于ios - UISearchBarDelegate 的 textDidChange 方法在语音转文本时有奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15840237/
我是 Xcode 的新手,所以请原谅我的无知。 我在 ViewController 上有一个 searchBar 和一个 tableView。我有一个用于 searchBar 的 IBOutlet 并
macOS 中函数 searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) 的类似方法是什么? 得到答案: @IB
我正在尝试构建一个充满多个可编辑 TextView 的 NSCollectionView。 (Swift 中的 OS X 应用程序。)我的 NSCollectionViewItem 子类称为 Note
我正在尝试为 tableView 实现搜索栏,但在我的 textDidChange 方法中收到错误“...二元运算符‘==’无法应用于‘Place’和‘String’类型的操作数”。 tableVie
我是 iOS 编程的新手,我不确定为什么我的 textDidChange 函数没有触发。在网上搜索了一堆,但找不到我的代码和其他人的代码有什么不同。这是我的 .h 和 .m 文件对于这个 View C
我正在做类似的事情: @IBOutlet var textView: NSTextView! override func viewDidLoad() { super.viewDidLoad()
抱歉,我是 swift 的初学者。 我有一个显示数据的 searchBar 和 tableView。 我还在 func“textDidChange”中调用 Api 到服务器。 但是,当我非常快速地输入
我有一个问题,我不知道为什么方法2取不到值? 方法一:可以取值! -(void) searchBar:(UISearchBar *) searchBar textDidChange:(NSString
我有一个 iPhone 应用程序,它包含一个 UITableView,顶部有一个 UISearchBar。当用户在 UISearchBar 中键入内容时,UITableView 的内容会被适本地过滤。
第一步.在xib中添加一个NSTextField 第 2 步。在 .h 文件中添加 NSTextFieldDelegate,按住 Control 键拖动 NSTextField 到文件的所有者以将委托
谁能解释一下为什么 textDidChange 没有处理我的委托(delegate),但 controlTextDidChange 从 NSTextField 工作。 - (void)control
我有一个自定义的 NSTextView 实现,可以自动调整字体大小,以便文本填充整个 View 。 我重写了 didChangeText 来调用我的字体大小调整方法。当用户编辑文本时效果很好,但是当通
我想搜索我的 plist 中的项目。 plist 由一组字典组成。每个键/值代表字符串/整数等,但这并不重要。 正如您将在下面的 tableViewController 类中看到的,我当前已经输入了一
我有一个 tableView,我正在其中从 Parse 加载我的数据。现在我想使用 parse 来显示来自 searchBar.text 的搜索结果。我有名字和姓氏,我都想在其中搜索。问题是我不知道如
我使用的是 iOS7,我有一个搜索栏。我正在使用 textDidChange 方法来获取每个字符并处理我的代码,当我们有文本时,我有明确的“X 按钮”。在以前的版本中,当点击清除按钮时,textDid
我已经创建了一个搜索栏并正在使用这个功能: func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
我目前面临与 UISearchBar 和听写支持相关的问题。当搜索栏的文本发生变化时,我必须触发一些过滤逻辑。必须通过键盘键入或听写来触发此逻辑。 现在这是我的问题:如果我在搜索栏中结束听写,text
我已经搜索了几个小时,但看不到解决方案...我正在使用输入到 UISearchBar 中的文本来过滤自定义对象数组,以更改下面表格 View 中的数据。经过一番调试后,我找到了问题的根源: func
我在以这种方式从 viewDidLoad 调用的函数中以编程方式创建了一个 UISearchBar //*************************************** //*** B
我正在 searchBar:textDidChange 中使用 Google 搜索内容: 我的问题是,每次按下一个字母时,它都会等待完成最后一个字母才能开始另一个字母。如果用户输入的速度非常快 - 你
我是一名优秀的程序员,十分优秀!