[英]Search Bar click detect
我有一个搜索栏,我想检测用户何时单击它,以及在用户在搜索栏中编辑时禁用按钮。 我怎么能这样做,因为我试图做什么,你会看到上面但它永远不会被召唤。
-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
NSLog(@"yes");
}
调用searchDisplayController
等其他方法。 searchDisplayController
也设置了
self.searchBar.delegate=self
但没有结果。
您可以直接使用UIsearchbar的委托来获取click事件。 您可以使用此委托来检查点击。 以及第二个结束编辑。
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
{
NSLog(@"Yes");
return YES;
}
结束编辑
- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar
{
return YES;
}
当用户点击键盘上的“搜索”(返回)按钮时,将调用searchBarSearchButtonClicked:
方法。 从您的问题,我了解您想要检测用户何时点击搜索栏,输入搜索文本。 如果是这种情况,则需要在UISearchBarDelegate中实现searchBarShouldBeginEditing:
或searchBarTextDidBeginEditing:
方法。 例如,
-(BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar{
NSLog(@"yes");
return YES;
}
Swift版的答案:
searchBarShouldEndEditing或searchBarSearchButtonClicked
func searchBarShouldEndEditing(_ searchBar: UISearchBar) -> Bool { return true }
要么
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.