UISearch栏未被键盘输入更新

时间:2012-12-05 10:41:52

标签: ios xcode ios5 ios6

我有一个ViewController,其子视图包含UISearchBar。当我点击搜索栏时,键盘出现,我可以使用取消按钮将其关闭。问题似乎是当用户点击键盘按钮时它不接受任何输入。

#pragma mark -
#pragma mark SEARCH METHODS
#pragma mark -


- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar {

    self.mainSearchBar.showsCancelButton = YES;

    return YES;
}


- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{

    [self.mainSearchBar resignFirstResponder];

    self.mainSearchBar.showsCancelButton = NO;

    self.mainSearchBar.text = @"";

}

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

    [self.mainSearchBar resignFirstResponder];

}

之前是否有人遇到此问题或知道如何解决此问题?

** 更新 * ****

事实证明,Siri在尝试编辑UISearchBar时会起作用。尽管键盘输入仍然没有运气。我认为它与UISearchBar位于UIView上的事实有关,然后将其添加为子视图。不知道怎么解决它。

** 更新2 * **** 将搜索框移动到主UIView,我仍然得到相同的错误。我想知道它现在是否与导航控制器有关。

5 个答案:

答案 0 :(得分:0)

确保app委托有[self.window makeKeyAndVisible]。希望它能解决你的问题。

答案 1 :(得分:0)

检查您是否在viewController的.h文件中添加了UISearchBarDelegate。

答案 2 :(得分:0)

也请尝试以下代码:

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

{
    NSLog(@"%@",searchText);
}

答案 3 :(得分:0)

这必须与SearchBar ViewController相对于view的呈现方式有关。为什么要将SearchBar subview作为另一个view的{​​{1}}而不是ViewController的{​​{1}}的子视图?

答案 4 :(得分:0)

问题解决后,答案在前一个帖子Keyboard and cursor show, but I can't type inside UITextFields and UITextViews

中找到

事实证明,在IOS6中,需要点击选项上的Visible at Launch检查。