如何将搜索栏放入uinavigationbar(不在其下)?

时间:2011-09-04 11:41:46

标签: iphone uinavigationbar uisearchbar

我想在导航栏中放一个搜索栏,就像safari一样。如果我将UISearchBar添加到我的视图中,它最终会在导航栏下面。如何将搜索栏放入(而不是在)unnavigationbar中?

3 个答案:

答案 0 :(得分:2)

尝试将UISearchBar或UITextField放在UINavigationItem的titleView中,然后在导航栏的topItem中设置它。

请参阅human interface guideline确认是否允许。

答案 1 :(得分:1)

我是这样做的:

UISearchBar * navSearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 232, 44)];
navSearchBar.delegate = self;
self.navigationItem.titleView = navSearchBar;   
[navSearchBar release];

我希望它有所帮助!

答案 2 :(得分:-1)

navigationBar主要用于导航视图层次结构。如果您只需要页面顶部的搜索栏,为什么不使用常规搜索栏,其背景类似于navigationBar?

这样你就可以更好地控制搜索栏的布局,而且你不必处理navigationBar。

顺便说一句,这可能是safari应用程序实际工作的方式 - 它不会将searchBar放在navigationBar中。您可以通过滚动搜索栏并且不会保持在最顶层的事实来看到这一点。