【问题标题】:I want to place Table View exact down to navigation bar我想将表格视图精确放置到导航栏
【发布时间】:2017-01-28 04:27:41
【问题描述】:

请查看虚线框区域,这是导航栏和表格视图之间出现的额外空间。

我已经尝试了 3 件事,但同样的问题。
1.清除所有约束和“添加缺少的约束”
2. 我使用了 pin,并与表格视图上方的 UI 对象保持“0”距离
3. 使用拖拽的方式,&设置表格视图的垂直间距。

【问题讨论】:

  • 那是标题视图吗?还是UITableView的superView的背景还是它的高度等于UINavigationBar的高度?

标签: ios objective-c swift xcode autolayout


【解决方案1】:

您需要使用storyboard 取消选中attribute inspector Adjust Scroll View Insets 中的属性,请参见下图。

编辑:

调整滚动视图插图:定义一个布尔值,指示视图控制器是否应自动调整其滚动视图插图。

此属性的默认值为 true,这让容器视图控制器知道他们应该调整此视图控制器视图的滚动视图插图,以考虑状态栏、搜索栏、导航栏、工具栏所占用的屏幕区域,或标签栏。如果您的视图控制器实现管理自己的滚动视图插图调整,请将此属性设置为 false。

【讨论】:

  • 谢谢,您能否通过一些解释来扩展您的答案,以便将来也对其他人有所帮助。为什么,有什么问题,为什么我们需要这样做。等
【解决方案2】:

选择View Controller并勾选Adjust scroll View insets

【讨论】:

  • 我想你想说,取消选中?
  • 取消检查有效吗?您的表的最高约束是什么?
  • 你能展示你的故事板并选择了tableview并显示了约束吗?
  • 好的,我明白了,您想在导航栏下方添加表格视图。顺便说一句,我们还可以将 Table 的顶部附加到 ViewController 的顶部并检查调整滚动视图。编码愉快!
【解决方案3】:

我已经完成了,我将表格视图放在导航栏下,现在我已经将它放置在正好触及视图的上限。并添加了缺失的约束。 enter image description here

【讨论】:

    【解决方案4】:

    在你的 tableview 类的 viewDidLoad 方法中使用这一行,

    self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);
    

    这会从顶部开始设置内容。

    对你有帮助。

    【讨论】:

      【解决方案5】:
      -(void)viewDidLoad{
          [super viewDidLoad:animated];
          self.automaticallyAdjustsScrollViewInsets = NO;
      }
      

      【讨论】:

        【解决方案6】:

        通过在 viewDidLoad 中添加以下行将解决此问题

        self.navigationController?.navigationBar.translucent = false
        

        【讨论】:

          猜你喜欢
          • 2021-09-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多