隐藏键盘iphone sdk?

时间:2011-04-14 00:44:56

标签: uitableview ios4 uiwebview keyboard resignfirstresponder

我有UISearchBar。我希望键盘在用户点击搜索后立即消失...我确实尝试了resignFirstResponder但是没有用。任何帮助将不胜感激

- (void)viewDidLoad {
    [super viewDidLoad];

    self.title = NSLocalizedString(@"Songs", @"Search for songs");


    NSMutableArray *array = [[NSArray alloc]initWithObjects: @"Book_1", @"Book 2", @"Book _ 4", nil];
    self.booksArray = array;
    [array release];
    search.delegate=self;
    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;
}

感谢 TC

2 个答案:

答案 0 :(得分:0)

它应该通过在委托对象上实现响应方法来实现:

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

参考:http://www.iphonedevsdk.com/forum/iphone-sdk-development/7148-problem-uisearchbar-navigation-controller.html#post59467

答案 1 :(得分:0)

请确保以下事项。(我希望您在谈论键盘的搜索按钮。)

  1. 您已将IBOutlet searchBar与其变量search相关联。
  2. 您不会在代码中的任何位置取消引用搜索变量(重新分配)。
  3. 您的- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar方法与searchBar所在的viewcontroller相同。
  4. 请NSLog(@“搜索栏Instace:%@”,搜索);在viewDidLoad方法和searchBarSearchButtonClicked中验证两个实例是否相同,然后在代码中的某处重新分配search
  5. 就在[searchBar resignFirstResponder]; NSLog之后(@“isFirstResponder:%d”,[searchbar isFirstResponder]);和NSLog(@"Next Responder : %@",[searchBar nextResponder]);
  6. - (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar 当您点击键盘的搜索按钮时,正在调用方法?确保responder后面添加的键盘textField(如textViewsearchBar或其他searchBar)可能是无意中添加的。请通过xib检查。
  7. 谢谢,