3

编辑:这个问题的症结在于滚动指示器在程序滚动期间不显示,但我希望它们显示。我最初的问题(在下面提供)假设这与 相关userInteractionEnabled,但事实并非如此。主从 UIScrollView 的提及也可能分散我的核心问题(在编程滚动期间需要显示滚动指示器)。向那些根据我的误导性假设/信息回答或评论的人道歉。

可能的解决方案:我发现这样做的唯一方法是使用滚动指示器是实例的事​​实,UIImageView并在其上使用类别来破解 alpha。本文展示了这种方法。然后是使用标签和滚动视图委托方法在编程滚动之前永久打开 alpha 并在滚动完成时永久关闭的情况。虽然这感觉很hacky,所以欢迎任何进一步的建议!

此行以下的所有内容都是原始未经编辑的问题,用于为用户的答案和评论提供上下文

userInteractionEnabledUIScrollView对象中设置为NO似乎在程序滚动时禁用滚动指示器。即使您有self.showsVerticalScrollIndicator = self.showsHorizontalScrollIndicator = YES;

有没有办法以编程方式滚动滚动视图但仍显示指标?

(提供一些上下文:我有一个从属滚动视图,它通过连接滚动视图委托回调并将内容偏移量传递给从属滚动视图来模仿主滚动视图。但是,我不希望用户能够直接操作从属滚动视图,但我确实想要滚动指示器)。

4

2 回答 2

0

尝试将 UIScrollView 的 scrollEnabled 属性设置为 false,而不是将 userInteractionEnabled 设置为 false。医生。说“禁用滚动时,滚动视图不接受触摸事件”,这应该意味着您仍然应该能够以编程方式滚动 UIScrollView。希望这会有所帮助 - 没有测试过让我知道。

于 2013-01-31T19:00:36.450 回答
0

您可以尝试在滚动视图上放置一个透明的 UIView (alpha == 0.0)(但作为视图层次结构中的兄弟,而不是子视图)。在透明视图上将 touchesEnabled 设置为 YES,它将拦截指向滚动视图的触摸。

于 2013-01-31T19:07:43.187 回答