【问题标题】:How can I put a search bar in (not under) a unnavigationbar?如何将搜索栏放在导航栏中(而不是在导航栏下方)?
【发布时间】:2011-09-04 11:41:46
【问题描述】:

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

【问题讨论】:

    标签: iphone uinavigationbar uisearchbar


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我是这样做的:

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

      希望对你有帮助!

      【讨论】:

        【解决方案3】:

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

        这样您就可以更好地控制搜索栏的布局,而不必处理导航栏。

        顺便说一句,这可能是 safari 应用程序的实际工作方式 - 它不会将 searchBar 放在导航栏中。您可以通过 searchBar 滚动并且不停留在顶部的事实来看到这一点。

        【讨论】:

        • 我很确定它是一个导航栏——它有一个正确样式的提示,并且在正确的位置有左/右控件。它只是一个恰好在滚动视图中的一个,而不是一个与导航控制器关联的。
        • 我的意思是他们可能没有使用常规的 UINavgationBar“左、右、标题”属性来实现他们得到的外观。自定义 navigationBar 的最简单方法是将其子类化并自行设计。我发现了一篇非常好的文章,它准确地描述了如何获得你想要的外观:icab.de/blog/2009/10/13/…
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多