我有一个导航控制器下示出的图。 该视图包含在顶部部分中的一个子视图和在底部的表图。 该表可能有超出基于数据可见高度行。 当我是最后一个可见行之下,如果我滚动视图时,它弹回行,它不会呆在那里。 有没有办法让它留下来吗? 我试图使父视图滚动视图,并没有帮助。 我的看法是从厦门国际银行。
Answer 1:
听起来像是你的UITableView的大小比面积稍大可用在iPhone屏幕上。 这可能是因为认为没有考虑到兴田导航栏的大小。 作为测试,进入界面生成器,使UITableView的小得多,说一半大小,这样你就可以清楚地看到顶部和底部。 看看你是否仍然有相同的弹跳。
如果尺寸是正确的,符合市场预期的UITableView并不需要一个UIScrollView发挥作用。 事实上,将有几个原因,我能想到的,现在(比水平滚动的人除外),你会想要一个UIScrollView内的UITableView。
Answer 2:
在您的顶级视图控制器,在“模拟度量” -settings,机顶盒酒吧和/或底部的条形码(取决于什么显示在您的视图控制器)设置为“不透明”。 然后调整表视图,以适应beween导航栏和工具栏/标签栏。 最后,添加两个约束条件:
- 顶层空间顶部布局指南
- 底部空间到底部布局指南
工作对我非常好,与取向无关。
Answer 3:
如果您使用的不是故事板,你可以尝试以下(SWIFT)代码:
tableView.contentInset = UIEdgeInsetsMake( (self.navigationController!.navigationBar.frame.origin.y + self.navigationController!.navigationBar.frame.size.height), 0, 0, 0)
self.view.addSubview(tableView)
如果你有一个工具栏或者(如果您使用的是TabBarController),你需要过调整的底部:
tableView.contentInset = UIEdgeInsetsMake( (self.navigationController!.navigationBar.frame.origin.y + self.navigationController!.navigationBar.frame.size.height), 0, 0, 0)
self.view.addSubview(tableView)
请注意,这是一个简单的和“粗”的代码。 如果需要,你可以把它漂亮:)
文章来源: Tableview scrolling bounces back and hides the bottom cells