编辑:这个问题的关键是在编程滚动期间不显示滚动指示器,但我希望它们能够显示出来。我的原始问题(如下所示)假设这与
有没有办法在编程滚动滚动视图的同时仍然显示指示器?
(为了提供一些上下文:我有一个从属滚动视图,通过连接滚动视图委托回调并将内容偏移传递给从属滚动视图来模仿主滚动视图。但是,我不希望用户直接操作从属滚动视图,但我确实想要滚动指示器)。
userInteractionEnabled
有关,但实际上并不是。提到主UIScrollView和从UIScrollView也可能会让人分心,而不是集中解决我的核心问题(即需要在程序化滚动期间显示滚动指示器)。对于那些根据我的误导性假设/信息回答或评论的人表示歉意。
可能的解决方案:我发现唯一的方法是利用滚动指示器是UIImageView
实例的事实,并使用其类别来修改alpha值。这篇article文章展示了这种方法。然后使用标签和滚动视图委托方法,在程序化滚动之前永久打开alpha,在滚动完成时永久关闭。这种感觉很hacky,所以欢迎任何进一步的建议!
以下所有内容均为原始未编辑的问题,以提供上下文给用户的答案和评论
在一个UIScrollView对象中将userInteractionEnabled设置为NO,似乎会禁用程序滚动时的滚动指示器。即使你有self.showsVerticalScrollIndicator = self.showsHorizontalScrollIndicator = YES;也是如此。有没有办法在编程滚动滚动视图的同时仍然显示指示器?
(为了提供一些上下文:我有一个从属滚动视图,通过连接滚动视图委托回调并将内容偏移传递给从属滚动视图来模仿主滚动视图。但是,我不希望用户直接操作从属滚动视图,但我确实想要滚动指示器)。
flashScrollIndicators
的方法,但问题是滚动指示器可能会在滚动完成动画之前消失。而且在滚动发生时连续调用flashScrollIndicators
也不好,因为这会导致滚动指示器闪烁。 - Barjavel