好了,这个主题本身就说明了问题--我需要用我的自定义图像来改变默认的滚动条。我一直在寻找一种解决方案,它不需要你编写自己的ScrollView类,也不需要使用一些技巧,比如创建一个带有滚动条图像的UIView,并在滚动时重新定位它。
我喜欢的一个解决方案是使用一个简单的UIScrollView类别,并以UIScrollView的子视图的形式访问滚动条:http://leonov.co/2011/04/uiscrollviews-scrollbars-customization/#comment-7909,但是出于某种原因,这个方法不适合我。当我创建UIScrollView并获得它的子视图数组时,只有我手动添加到scrollview的视图才会显示在那里。我无法访问循环通过子视图数组的滚动条。例如,下面的代码:
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(10,10,100,100)];
scrollView.userInteractionEnabled = YES;
scrollView.bounces = NO;
scrollView.showsHorizontalScrollIndicator = YES;
NSLog(@"Subviews count is %d", [[scrollView subviews] count]);
将记录"Subviews count is 0“。或者,如果我将X个元素添加到滚动视图,"Subviews count is X“。有什么想法吗?
发布于 2012-01-14 02:14:27
UIScrollbar滚动视图仅在视图滚动时创建。当视图停止滚动时,它们会再次被删除。这可能就是你在你的分类中找不到它们的原因。
您可以将scrollview子视图遍历代码移到scrollview委托的scrollViewDidScroll方法中,这意味着每当视图滚动时都会执行该方法。
我不禁觉得这是一个可怕且不必要的技巧,你最好隐藏滚动条并自己实现它们,使用委托方法来确定何时显示和隐藏自定义滚动条视图,并使用contentOffset属性来确定放置它的位置。
https://stackoverflow.com/questions/8591871
复制相似问题