Swift 分段控制和 UITableView

Posted

技术标签:

【中文标题】Swift 分段控制和 UITableView【英文标题】:Swift segmented control and UITableView 【发布时间】:2019-11-15 11:48:59 【问题描述】:

我已将分段控件作为带有单元格名称的 UITableView 的标题。 Tableview 有不同大小的不同单元格。当我点击段时,我会滚动到表格视图中的特定行。

segment.valueSelected =  index in
    self.contentTableView.scrollToRow(at: IndexPath(row: index, section: 1), at: .top, animated: true)

但是当我滚动表格视图时,如何更改分段控件的选定索引?我的意思是我知道如何更改索引,但问题是我如何计算特定的偏移量,因为所有单元格都有不同的大小?

func scrollViewDidScroll(_ scrollView: UIScrollView) 
    segment.setSelectIndex(index : ???)

【问题讨论】:

【参考方案1】:

解决者

let visiblerows = contentTableView.indexPathsForVisibleRows
if let lastIndex = visiblerows?.last 
   segment.setSelectIndex(index: lastIndex.row, animated: true)

【讨论】:

以上是关于Swift 分段控制和 UITableView的主要内容,如果未能解决你的问题,请参考以下文章

Swift - 分段控制 - 切换多个视图

Swift - 如何让分段控制锁定在屏幕顶部

swift 自定义分段控制

在 Swift 的标头中使用分段控件更改 UICollectionView 的内容

如何在 Swift 的分段控件中调整 textLabel 的大小?

控制 3 分段