首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >自定义UIScrollView的滚动条

自定义UIScrollView的滚动条
EN

Stack Overflow用户
提问于 2011-12-21 23:01:21
回答 1查看 1.2K关注 0票数 0

好了,这个主题本身就说明了问题--我需要用我的自定义图像来改变默认的滚动条。我一直在寻找一种解决方案,它不需要你编写自己的ScrollView类,也不需要使用一些技巧,比如创建一个带有滚动条图像的UIView,并在滚动时重新定位它。

我喜欢的一个解决方案是使用一个简单的UIScrollView类别,并以UIScrollView的子视图的形式访问滚动条:http://leonov.co/2011/04/uiscrollviews-scrollbars-customization/#comment-7909,但是出于某种原因,这个方法不适合我。当我创建UIScrollView并获得它的子视图数组时,只有我手动添加到scrollview的视图才会显示在那里。我无法访问循环通过子视图数组的滚动条。例如,下面的代码:

代码语言:javascript
代码运行次数:0
运行
复制
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“。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2012-01-14 10:14:27

UIScrollbar滚动视图仅在视图滚动时创建。当视图停止滚动时,它们会再次被删除。这可能就是你在你的分类中找不到它们的原因。

您可以将scrollview子视图遍历代码移到scrollview委托的scrollViewDidScroll方法中,这意味着每当视图滚动时都会执行该方法。

我不禁觉得这是一个可怕且不必要的技巧,你最好隐藏滚动条并自己实现它们,使用委托方法来确定何时显示和隐藏自定义滚动条视图,并使用contentOffset属性来确定放置它的位置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8591871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档