爲了讓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