为了账号安全,请及时绑定邮箱和手机立即绑定

iOS 7:UITableView显示在状态栏下

iOS 7:UITableView显示在状态栏下

iOS
森林海 2019-07-25 15:23:22
iOS 7:UITableView显示在状态栏下我的应用程序的第一个屏幕是UITableViewController没有导航栏,这意味着内容在状态栏下流动,因此存在大量文本冲突。我已经调整了两个属性Under top bars,Adjust scroll view insets哪些实际上阻止了它滚动,但代价是保持表视图的顶部。我试图将UITableView帧设置为偏移20像素,但它似乎没有生效,因为我目前需要该应用程序与iOS 6兼容我无法跳转到iOS 7 Storyboards强制自动布局使用顶部高度指南。有没有人找到适用于这两个版本的解决方案?事情我已经尝试:设置edgesForExtendedLayout,故事情节中更改设置Under top bars和Adjust scroll view,迫使帧到一个新的领域。
查看完整描述

3 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

请注意:这适用于我的以下配置:

  • 屏幕顶部没有导航栏(表格视图与状态栏相符)

  • 表视图是不可滚动的

如果不满足上述两个要求,您的milage可能会有所不同。

原帖

我以编程方式创建了我的视图,最终为我工作:

- (void) viewDidLayoutSubviews {
    // only works for iOS 7+
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
        CGRect viewBounds = self.view.bounds;
        CGFloat topBarOffset = self.topLayoutGuide.length;

        // snaps the view under the status bar (iOS 6 style)
        viewBounds.origin.y = topBarOffset * -1;

        // shrink the bounds of your view to compensate for the offset
        viewBounds.size.height = viewBounds.size.height + (topBarOffset * -1);
        self.view.bounds = viewBounds;
    }}

来源(在第39页底部的topLayoutGuide部分)。


查看完整回答
反对 回复 2019-07-25
  • 3 回答
  • 0 关注
  • 915 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信