搜索栏取消按钮有时在ios 7中不起作用

mji*_*cua 6 uisearchbar tableview ios ios7

当搜索栏最初被隐藏时,搜索栏中的取消按钮在iOS 7中不起作用.

我按照本教程在tableview中创建一个搜索栏:

raywenderlich教程

本教程中有一个示例项目,比我的解释更好地使用这个项目:)

在iOS 5和6中工作正常.我审查了所有代表.

有两种可能性.第一种是在隐藏栏时按下按钮,第二种是在显示栏时按下按钮(用手势向下移动桌子可以看到搜索栏)

如果隐藏搜索栏最初取消按钮不起作用,则不调用calcel委托方法:

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
Run Code Online (Sandbox Code Playgroud)

对不起,我无法解释得更好.

谢谢

Kal*_*era 0

将此代码放入您的项目中,它会工作我已经测试过并且工作正常

 -(void)searchBarSearchButtonClicked:(UISearchBar *)searchbar
{
[searchbar resignFirstResponder];

for (UIView *possibleButton in searchbar.subviews)
{
    if ([possibleButton isKindOfClass:[UIButton class]])
    {
        UIButton *cancelButton = (UIButton*)possibleButton;
        cancelButton.enabled = YES;
        break;
    }
}

}
Run Code Online (Sandbox Code Playgroud)