【发布时间】:2011-09-04 11:41:46
【问题描述】:
我想在导航栏中加入一个搜索栏,就像 safari 一样。如果我将 UISearchBar 添加到我的视图中,它最终会出现在导航栏下方。如何将搜索栏放在(而不是在)取消导航栏中?
【问题讨论】:
标签: iphone uinavigationbar uisearchbar
我想在导航栏中加入一个搜索栏,就像 safari 一样。如果我将 UISearchBar 添加到我的视图中,它最终会出现在导航栏下方。如何将搜索栏放在(而不是在)取消导航栏中?
【问题讨论】:
标签: iphone uinavigationbar uisearchbar
尝试将 UISearchBar 或 UITextField 放在 UINavigationItem 的 titleView 中,然后将其设置在导航栏的 topItem 中。
请参考human interface guideline 确认是否允许。
【讨论】:
我是这样做的:
UISearchBar * navSearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 232, 44)];
navSearchBar.delegate = self;
self.navigationItem.titleView = navSearchBar;
[navSearchBar release];
希望对你有帮助!
【讨论】:
navigationBar 主要用于导航视图层次结构。如果您只需要页面顶部的搜索栏,为什么不直接使用背景类似于导航栏的常规搜索栏?
这样您就可以更好地控制搜索栏的布局,而不必处理导航栏。
顺便说一句,这可能是 safari 应用程序的实际工作方式 - 它不会将 searchBar 放在导航栏中。您可以通过 searchBar 滚动并且不停留在顶部的事实来看到这一点。
【讨论】: