gpt4 book ai didi

ios - 在 Swift 3 中调用 flashScrollIndicators() 时如何更改滚动条的颜色

转载 作者:搜寻专家 更新时间:2023-11-01 07:12:43 25 4
gpt4 key购买 nike

我刚刚发现了如何正确使用 flashScrollIndicator,但是当滚动条闪烁时我无法更改它的颜色。我想把它改成红色。这就是我在 viewTable 加载时闪烁滚动条的功能:

override func viewDidAppear(_ animated: Bool) {
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.tableView.flashScrollIndicators()
}

我还能够创建一个真正改变滚动条的函数,但只有当用户真正滚动时,而不是当滚动条只是闪烁时。如果它有任何帮助,这是它的代码:

func scrollViewDidScroll(_ scrollView: UIScrollView) {
let verticalIndicator = scrollView.subviews.last as? UIImageView
verticalIndicator?.backgroundColor = UIColor.red
}

任何帮助都会很棒!谢谢。

最佳答案

您只需要将这两部分放在一起即可。如果将颜色更改代码添加到 viewDidAppear,它应该像在 scrollViewDidScroll 中一样工作。

override func viewDidAppear(_ animated: Bool) {
let verticalIndicator = tableView.subviews.last as? UIImageView
verticalIndicator?.backgroundColor = UIColor.red
self.tableView.flashScrollIndicators()
}

虽然这是可能的,但出于以下几个原因我不推荐它:

  1. 它很脆弱。由于这不是现成的公共(public) API,因此不能保证它在未来的 iOS 版本中有效。

  2. 这可能是一个糟糕的设计选择。您真的想让用户注意不同颜色的滚动条吗?大多数熟悉其他应用程序的用户都习惯了滚动条的默认外观,因此无需过多额外注意即可传达它们在 View 中的位置。而且我刚试的时候看起来不太好。

另一种解决方案是简单地将滚动指示器样式设置为可用选项之一(defaultwhiteblack)。

tableView.indicatorStyle = .default

关于ios - 在 Swift 3 中调用 flashScrollIndicators() 时如何更改滚动条的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44104427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com