我目前正在使用包含段索引的表视图在swift上的ios项目上工作。 我希望在表格视图的顶部隐藏部分索引,然后在我开始向下滚动时显示它。通常音乐应用程序是什么。
我在UITableView中搜索了段索引属性,但是我找不到任何隐藏它的内容。
任何人都可以帮助我吗?
我在这个函数中实现了section索引:
override func sectionIndexTitlesForTableView(tableView: UITableView) -> [String]? {
return everySections
}
这是everySections声明:
var everySections : [String] {
get {
let tempArray = Array(artistsSectioned.keys) as [String]
let tempEverySections = tempArray.sort(<)
return tempEverySections
}
}
答案 0 :(得分:3)
您可以使用部分索引颜色和背景颜色来淡入和缩小部分索引:
将tableView委托设置为self并实现此UIScrollViewDelegate
方法:
func scrollViewDidScroll(scrollView: UIScrollView) {
var alpha: CGFloat = 1
if scrollView.contentOffset.y < 1 {
alpha = 0
} else if scrollView.contentOffset.y >= 1 && scrollView.contentOffset.y < 20 {
alpha = scrollView.contentOffset.y / CGFloat(20)
}
tableView.sectionIndexColor = UIColor(red: 0, green: 0, blue: 0, alpha: alpha)
tableView.sectionIndexBackgroundColor = UIColor(red: 1, green: 1, blue: 1, alpha: alpha)
}
这会在前20页的滚动过程中淡入和缩小部分索引。如果你想要更慢或更快地淡化它,只需更改你想要的任何值。
要最初隐藏部分索引,请将两种颜色设置为viewDidLoad
中的clearColor:
tableView.sectionIndexColor = UIColor.clearColor()
tableView.sectionIndexBackgroundColor = UIColor.clearColor()