如何使 UITableView 内容围绕中心点滚动

Posted

技术标签:

【中文标题】如何使 UITableView 内容围绕中心点滚动【英文标题】:How to make UITableView content scroll around a central point 【发布时间】:2017-02-20 02:48:03 【问题描述】:

我试图弄清楚如何使 UITableView 的内容围绕屏幕两侧的两个条包含的区域“居中”,以便它适用于所有屏幕尺寸的设备。我的意思是:

视图的初始状态应该是该区域内的第一个单元格 表格视图应该能够滚动,直到最后一个单元格位于该区域内 如果单元格仍在屏幕上,它们不应消失

围绕表格视图的内容偏移和插入,以及调整表格视图的框架,我尝试了许多不同的方法,但我不可避免地要么插入错误,要么最终导致单元格在它们离开屏幕之前消失.

我想知道这是否完全是错误的方法,或者我的设置组合不正确。

任何提示将不胜感激!

【问题讨论】:

【参考方案1】:

以下对我有用:

//In viewDidLoad, etc...:
self.edgesForExtendedLayout = UIRectEdgeNone;
self.automaticallyAdjustsScrollViewInsets = YES;

override func viewDidLayoutSubviews() 
    super.viewDidLayoutSubviews()

    let inset = (self.tableView.frame.size.height - 44) / 2.0 // Figure out your bar size here

    self.tableView.contentInset.top = inset
    self.tableView.contentInset.bottom = inset

    let path = NSIndexPath(row: 0, section: 0) as IndexPath

    self.tableView.scrollToRow(at: path, at: .middle, animated: false)

【讨论】:

以上是关于如何使 UITableView 内容围绕中心点滚动的主要内容,如果未能解决你的问题,请参考以下文章

如何使 UITableView 适合内容的大小

如何使 UITableView 与大标题 VoiceOver 兼容?

如何使 UITableView 水平和垂直滚动

如何使UITableview中的DPFBannerView不滚动

滚动时如何使uitableview单元格不改变?

滚动时如何使 UITableView 从下到上显示?