iPhone-更改UISearchDisplayController“;取消“;按钮文本
排序问题: 是否有办法将iPhone-更改UISearchDisplayController“;取消“;按钮文本,iphone,uibutton,uisearchdisplaycontroller,Iphone,Uibutton,Uisearchdisplaycontroller,排序问题: 是否有办法将UISearchDisplayController中的“取消”按钮文本更改为“完成”或“关闭” 理由: 我有一个包含选项列表的UITableView,每个选项都可以选中或取消选中 我想通过这些选项启用搜索,因此我创建并添加了一个UISearchDisplayController 用户将搜索一个项目,然后对搜索结果中的项目执行操作(即选择/取消选择某些项目) 完成后,用户将返回上一个(未搜索)选项列表 问题是,关闭UISearchDisplayController的唯一方法
UISearchDisplayController
中的“取消”按钮文本更改为“完成”或“关闭”
理由:
我有一个包含选项列表的UITableView
,每个选项都可以选中或取消选中
我想通过这些选项启用搜索,因此我创建并添加了一个UISearchDisplayController
用户将搜索一个项目,然后对搜索结果中的项目执行操作(即选择/取消选择某些项目)
完成后,用户将返回上一个(未搜索)选项列表
问题是,关闭UISearchDisplayController
的唯一方法是按下“取消”按钮。但是,“取消”在这里是错误的,因为在搜索栏中执行的操作将被存储
因此,有没有办法将“取消”按钮文本更改为“完成”或“关闭”?我找到了一种方法,在搜索栏的代理中,创建一个空动画,然后在一小段时间后,更改按钮上的内容,这可能是因为在调用代理后不久,取消按钮就会被设置动画,因此,在此之前,您无法抓住并更改它:
-(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...
}
}
}
];
}
请注意,您可能不应该这样做,而应该只使用色调,因为这可能是不允许的,并且可能会导致您的应用被拒绝。