在搜索栏中搜索空字符串:Objective-c

时间:2014-12-12 12:54:50

标签: ios xcode search uisearchbar string

我想允许用户在搜索栏中搜索空字符串。每当用户输入任何文本时,键盘的搜索按钮变为活动状态。但是,如果搜索栏为空,则键盘的搜索按钮处于非活动状态。我试过下面的代表,但没有工作。

- (void) searchBar:(UISearchBar *)theSearchBar textDidChange:(NSString *)searchText {

  ... 
}

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
  ...
}

Scrrenshot

是否有解决此问题的方法?肯定+1正确答案。

2 个答案:

答案 0 :(得分:2)

设置为搜索文本的简单方法,如下所示

-(void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar{
    //Add a blank character to hack search button enable
    searchBar.text = @" ";
}

答案 1 :(得分:1)

然而,这看起来很糟糕,它正是你想要的。

您需要在UITextField

中自定义UISearchBar
    @try {
        for (id object in [[[search subviews] firstObject] subviews])
        {
            if (object && [object isKindOfClass:[UITextField class]])
            {
                UITextField *textFieldObject = (UITextField *)object;
                //textFieldObject.returnKeyType = UIReturnKeySearch;
                textFieldObject.enablesReturnKeyAutomatically = NO;
                break;
            }
        }
    }
    @catch (NSException *exception) {
        NSLog(@"Error while customizing UISearchBar");
    }
    @finally {

    }

此处搜索为UISearchBar

希望这对你有用! :)

仅供参考,这在iOS7和8.1.1中也很有效。未检查< 7.0和> 8.1.1