排序问题:
有没有办法将UISearchDisplayController
中的“取消”按钮文字更改为“完成”或“关闭”?
理由:
我有一个UITableView
,其中包含一个选项列表,每个选项都可以选中或取消选中。
我想启用搜索这些选项,因此我创建并添加了UISearchDisplayController
。
用户将搜索项目,然后对搜索结果中的项目执行操作(即,将选择/取消选择某些项目)。
完成此操作后,用户将返回上一个(未搜索的)选项列表。
问题是解除UISearchDisplayController
的唯一方法是按“取消”按钮。但是,“取消”在这里是错误的单词,因为在搜索栏中执行的操作将被存储。
因此,有没有办法将“取消”按钮文本更改为“完成”或“关闭”?
答案 0 :(得分:0)
我找到了一种方法,在搜索栏的委托中,创建一个空动画,然后在一小段时间后,更改按钮上的东西,这可能是因为取消按钮在委托后不久的某个时间动画被称为,因此你无法抓住它并在此之前改变它:
-(void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController*)controller {
[UIView
animateWithDuration:0.05 animations:^{} completion:^(BOOL finished){
for (UIView *possibleButton in controller.searchBar.subviews)
{
if ([possibleButton isKindOfClass:[UIButton class]])
{
UIButton *cancelButton = (UIButton*)possibleButton;
//TODO:
// do things with button here...
}
}
}
];
}