ViewView在视图更改后下推

时间:2018-02-21 19:03:01

标签: ios swift xcode

我对使用swift 4的ios开发有点新意,所以我正在测试一些功能。 我在普通UIViewControllertableviewlayout

中有一个tableview

留空的空间是故意的,因为我有一些自定义标签。

当我从表格单元格元素中显示详细信息,然后按下后退按钮时,表格视图会被向下推(向上)。请参阅我显示问题的this

iphone是带有ios10的SE。 在使用iOS11进行模拟时,不会发生这种情况。使用xCode 9.2在MacOS Sierra 10.12.6中进行开发。

有关如何解决此问题的任何线索?

编辑:

使用视图调试器,我得到了这个: viewdebugger

所选区域是UITableWrapperView元素。在它后面,是UITableView,它保留了它的约束。

5 个答案:

答案 0 :(得分:1)

self.tableView.bounces = false

或者将它放在viewDidAppear

 let offset = CGPoint.init(x: 0, y:0)
 self.tableView.setContentOffset(offset, animated: false)

答案 1 :(得分:0)

可能因为SafeArea而发生...检查连接tableView顶部和导航栏的约束。

您还可以尝试在导航栏和tableView之间放置空白UIView。您的自定义标签应位于此视图中。因此tableView将与最近的视图(您刚刚添加)连接,不应该反弹。

答案 2 :(得分:0)

这是一种非常奇怪的行为。我建议你使用Xcode view debugger。您可以使用大小检查器检查尺寸和约束值。

答案 3 :(得分:0)

设置tableview的代码,尝试在方法viewDidLayoutSubviews中实现它(如果你在viewDidLoad中执行它)。

override func viewDidLayoutSubviews() {
    //mention your tableview setup code here
}

类似的事情发生在我身上,这种方法非常方便。希望这会有所帮助。

答案 4 :(得分:0)

在iOS 11.0上试试这个

tableView.contentInsetAdjustmentBehavior = .never