默认情况下,当我在viewController中添加tableView时,tableView会滚动,但我希望它是静态的。有可能吗?
这是我的代码:
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return names.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell = tableview.dequeueReusableCellWithIdentifier("cell") as! TableViewCell
cell.username.text = names[indexPath.row]
return cell
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int
{
return 1
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
return 50.0
}
答案 0 :(得分:5)
斯威夫特3:
tableView.isScrollEnabled = false
答案 1 :(得分:2)
答案 2 :(得分:1)
选项1
尝试在 viewDidLoad()中仅使用以下代码行:
self.tableView.scrollEnabled = tableView.contentSize.height > tableView.frame.height;
这是以下方式:
if tableView.contentSize.height > tableView.frame.height {
self.tableView.scrollEnabled = true;
}
else {
self.tableView.scrollEnabled = false;
}
说明:如果行数太多并且填充的空间超过了tableview,则它可以滚动。否则它不会。这就是为什么在代码中将内容大小与窗口大小进行比较。
选项2:
如果你想在所有情况下都禁用滚动,只需在 viewDidLoad()中禁用滚动:
self.tableView.scrollEnabled = false;
注意:如果您为tableView指定了一个特殊名称,请将其替换为我共享您的代码中的tableView名称。
答案 3 :(得分:0)
当内容大小适合表格视图的大小时, UITableView
的滚动条将被停用
if (tableView.contentSize.height < tableView.frame.size.height) {
tableView.scrollEnabled = false
}
else {
tableView.scrollEnabled = true
}
如果您想要禁用滚动而不管contentSize:
tableView.scrollEnabled = false
更改 UITableView 的分隔线颜色(根据评论中的要求):
tableView.separatorColor = UIColor(red:0.16, green:0.17, blue:0.20, alpha:1.00)