3

我有一个 UISearchBar navigationItem's titleView

self.searchBar = ....
self.navigationItem.titleView = self.searchBar;

我需要在 UISearchbar 右侧添加一个按钮,并在搜索栏获得焦点时隐藏。(即出现取消按钮时)。

如何完成这样的行为? 在此处输入图像描述

谢谢。

4

1 回答 1

3

您需要做的是创建另一个 UIView 并将 UISearchBar 和您的 UIButton“设置”放在它上面。然后直接添加新的复合 UIView 而不是 self.searchBar。

这是一个例子:

UISearchBar *_searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0, 0.0, 230, SEARCHBAR_HEIGHT)];
    _searchBar.barStyle = UIBarStyleBlack;
    _searchBar.delegate = self;
UIButton *_button = [[UIButton alloc] initWithFrame:CGRectMake(0.0, 0.0, 100, BUTTON_HEIGHT)];
UIView *searchBarView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, SEARCHBAR_WIDTH, SEARCHBAR_HEIGHT)];
    [searchBarView addSubview:_searchBar];
    [searchBarView addSubview:_button];
    self.navigationItem.titleView = searchBarView;
于 2013-05-31T13:45:50.017 回答