为了让Cezar's answer适用于iOS10,我必须在重新启用滚动指示器之前包含一个(相当大的)延迟。如果有人在第二秒钟之前尝试滚动,这看起来有点奇怪,所以只要有人滚动,就可以重新启用滚动指示器。
override func viewDidAppear(_ animated: Bool) {
tableView.showsVerticalScrollIndicator = false
super.viewDidAppear(animated)
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
self.tableView.showsVerticalScrollIndicator = true
}
}
override func scrollViewDidScroll(_ scrollView: UIScrollView) {
if !tableView.showsVerticalScrollIndicator {
tableView.showsVerticalScrollIndicator = true
}
}
事实上,在考虑这件事,你甚至不需要延迟,只是这样做:
override func viewDidAppear(_ animated: Bool) {
tableView.showsVerticalScrollIndicator = false
super.viewDidAppear(animated)
}
override func scrollViewDidScroll(_ scrollView: UIScrollView) {
if !tableView.showsVerticalScrollIndicator {
tableView.showsVerticalScrollIndicator = true
}
}
你为什么不想要闪烁的?这是用户期望看到的标准行为。 – rmaddy