2012-03-04 78 views
0

如何让取消按钮仅在用户开始在UISearchBar中输入文本时出现?UISearchBar取消按钮Xcode 4.3?

我想这

- (void)searchBarTextDidBeginEditing:(UISearchBar *)aSearchBar { 
self.searchBar.showsCancelButton = YES; 
} 

但它不工作,我不认为有什么不妥与将其设置为“showsCancelButton”,因为即使当我说

NSLog(@"Typing");

它不会打印到屏幕上。 Xcode 4.3中有另一种方法可以做到这一点吗? 是否还有一种方法知道是否按下了取消按钮?

回答

1

您确定该课程是searchBar的代表吗?尝试在viewDidLoad方法中设置self.searchBar.delegate=self;

0

试试这个:

- (void)searchBarTextDidBeginEditing:(UISearchBar *)aSearchBar { 
    aSearchBar.showsCancelButton = YES; 
} 
1

你的方法没有返回一个布尔值, 'YES'。这应该工作:

// show search bar's cancel button when editing 
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar { 

    searchBar.showsCancelButton = YES; 

    return YES; 
} 
// hide search bar's cancel button when not editing 
- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar { 

    searchBar.showsCancelButton = NO; 

    return YES; 
}