在IOS7上的UINavigationBar下的UIView

时间:2013-07-19 11:59:17

标签: uitableview ios7 uirefreshcontrol

我们正在努力实现IOS6和IOS7之间的转换,并且暂时还有下一个问题:

我们的观点结构是下一个:

  1. UIView
  2. 用于临时按钮的UIToolbar(列表的过滤器按钮)
  3. UITearchBar通过UIToolbar将搜索组件与列表
  4. 集成
  5. 的UITableView
  6. 完美地使用以前版本的IOS SDK。

    但是在IOS7中我们遇到了下一个麻烦:

    1. UIToolbar和UISearch栏不再可见
    2. 我们集成了UIRefreshBar组件,刷新后UITableView总是在UINavigationBar下移动
    3. 有什么建议吗?

3 个答案:

答案 0 :(得分:15)

  1. viewDidLoad这对我有用

    [self setEdgesForExtendedLayout:UIRectEdgeNone];

  2. 如果您喜欢情节提要,请选择viewController,并确保Extended Edges>>未选中Under top bars

  3. enter image description here


    <强>更新 对于像我这样的人,他们无法安装仅在Mountain Lion中使用的Xcode 5:

    #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000
        [self setEdgesForExtendedLayout:UIRectEdgeNone];
    #endif
    

答案 1 :(得分:13)

关于
1. UIToolbarUISearchBar不再可见,在viewDidLoad中写下以下代码,您的问题就会解决。

[self setEdgesForExtendedLayout:UIExtendedEdgeLeft | 
                                UIExtendedEdgeBottom | 
                                UIExtendedEdgeRight];

答案 2 :(得分:2)

关于 2.我们集成了UIRefreshBar组件,刷新后UITableView总是在UINavigationBar下移动

使NavigationBar不是半透明的,默认情况下它允许视图在其下滚动。