UISearchBar UINavigationBar隐藏物品

时间:2012-10-15 20:58:29

标签: ios uisearchbar

我想要实现的行为是在UINavigationBar中使用以下布局:

BackButton - UISearchBar - UIBarButtonItem

一旦UISearchBar开始编辑,它需要向左扩展,覆盖BackButton,而cancelButton需要在右边动画。 rightBarButtonItem也需要隐藏。所以最终效果如下:

UISearchBar - CancelBarButtonItem

一旦用户取消了文本输入,就需要动画回到之前的状态。

到目前为止,这是我的代码:

- (void)searchBarTextDidBeginEditing:(UISearchBar *)aSearchBar {
[[self tableView] setScrollEnabled:NO];

[[self navigationItem] setHidesBackButton:YES
                                 animated:NO];

//[aSearchBar sizeToFit];
/*[UIView animateWithDuration:0.25 animations:^{
    [aSearchBar setFrame:CGRectMake(0.0f, 0.0f, kSearchBarDefaultWidth + 100.0f, 44)];
    [aSearchBar layoutSubviews];
}];*/

// hide the right bar button
[[self navigationItem] setRightBarButtonItem:nil
                                    animated:NO];
[searchBar setShowsCancelButton:YES
                       animated:NO];

注意我注意到,如果我隐藏后退按钮并将rightBarButton设置为nil,它会调整UISearchBar的大小,但它不会为其设置动画。太奇怪了......

0 个答案:

没有答案