我正在代码中创建一个 UITableViewController 并将其推送到导航堆栈的顶部。 它的表格 View 旨在仅显示一个简单的文本项列表。
我需要在我的 TableView 中添加一些 contentInset,我将其添加到 UITableViewController 的 init 方法中
self.tableView.contentInset = UIEdgeInsetsMake(7.0f, 5.0f, 7.0f, 5.0f);
但是,当我加载 TableView 时,左右 contentInset 似乎实际上将 TableView 的宽度拉伸(stretch)了 10。我现在看到一个小的水平可滚动区域。我不想在我的表格 View 上进行任何类型的水平滚动。如果我删除 contentInset 代码,我的 TableView 的行为很明显,即只提供垂直滚动。我如何才能保持原样,但我的 contentInset 就位?我尝试在 viewWillAppear 中将 contentSize.width 减小 10,但没有效果。
这似乎是重复的但没有可接受的答案:UITableView ContentInsets scrolling content horizontally
在模拟中,我用虚线标记了所需的 contentInset ---
谢谢。
最佳答案
我最终只设置了顶部和底部插图。为了实现左右插图的外观和感觉,我创建了与屏幕一样宽的自定义单元格。但实际的单元格内容仅限于自定义单元格中稍微窄一些的 subview 。因此, subview 的左侧和右侧有剩余空间。
关于iphone - UITableView contentInset 使表格 View 除了垂直滚动外还可以水平滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16260612/