我有一个UICollectionView添加到我正在使用的应用程序中的UIView。在UICollectionView中显示了一组从Core Data中提取的图像。垂直滚动可以正常工作,但滚动条在用户触摸UICollectionView之前不会显示。如何确保右侧的滚动条始终可见,以便向用户提供滚动条可滚动的指示?
dly7yett1#
你不能让他们总是可见的。相反,您可以在用户第一次看到集合视图时使它们 Flink 一次,以通知他们可以滚动此视图。因为UICollectionView是UIScrollView的子类,你可以这样做:
UICollectionView
UIScrollView
[myCollectionView flashScrollIndicators];
例如,查看设置应用程序。当您转到比屏幕长的设置列表时,滚动指示器会 Flink 一次。
yx2lnoni2#
关于Swift:
myCollectionView.flashScrollIndicators()
yjghlzjz3#
这在iOS 16上不适用,我必须创建UICollectionView和layoutSubviews的子类。然后在希望滚动条 Flink 的位置设置标志,如reloadData
class FlashScrollBarCollectionView: UICollectionView { var flashScrollBar = false override func layoutSubviews() { super.layoutSubviews() if flashScrollBar { flashScrollIndicators() flashScrollBar = false } } override func reloadData() { flashScrollBar = true super.reloadData() } }
3条答案
按热度按时间dly7yett1#
你不能让他们总是可见的。相反,您可以在用户第一次看到集合视图时使它们 Flink 一次,以通知他们可以滚动此视图。
因为
UICollectionView
是UIScrollView
的子类,你可以这样做:例如,查看设置应用程序。当您转到比屏幕长的设置列表时,滚动指示器会 Flink 一次。
yx2lnoni2#
关于Swift:
yjghlzjz3#
这在iOS 16上不适用,我必须创建UICollectionView和layoutSubviews的子类。然后在希望滚动条 Flink 的位置设置标志,如reloadData