自定义UIScrollView 滚动条(适合大部分继承自UIScrollView的控件,如UITextView,UITableView等)
2012-11-29 12:43
501 查看
转载自:http://blog.csdn.net/liubo0_0/article/details/7067460
滚动条只是显示作用,不能点击拖动。当然可以根据自定义样式。
想法很简单,就是在UIScrollView里面先增加一个竖条,在增加一个图标。
通过移动UIScrollView里面的坐标,来实现图标移动的效果。
UIScrollView *leftScroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 40, 200, 630)];
leftScroll.delegate = self;
leftScroll.showsVerticalScrollIndicator = NO;
leftScroll.bounces = NO;
[self.view addSubview:leftScroll];
// 添加 竖条
NSString *pathS = [[NSBundle mainBundle] pathForResource:@"ss" ofType:@"png"];
UIImage *imageS = [[UIImage alloc] initWithContentsOfFile:pathS];
UIImageView *imageSView = [[UIImageView alloc] initWithImage:imageS];
imageSView.frame = CGRectMake(190,0,2,200*[arr count]);
//第一处
[leftScroll addSubview:imageSView];
// 添加 图标
pathS = [[NSBundle mainBundle] pathForResource:@"gg" ofType:@"png"];
imageS = [[UIImage alloc] initWithContentsOfFile:pathS];
imageGView = [[UIImageView alloc] initWithImage:imageS];
imageGView.frame = CGRectMake(186,10,10,27);
[leftScroll addSubview:imageGView];
// 当移动调用此方法
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
//第二处
float p = 0;
p = scrollView.contentOffset.y/(scrollView.contentSize.height - scrollView.frame.size.height);
imageGView.frame = CGRectMake(186,p*scrollView.contentSize.height,10, 27);
}
//实际使用中对两处做了修改,因为我是在自定义UITextView时引用的代码
第一处:
float h = (self.label_alert_info.frame.size.height
* self.label_alert_info.frame.size.height)/self.label_alert_info.contentSize.height;
imageGView.frame =
CGRectMake(256,0,5,h);
第二处:
if (([scrollView
isKindOfClass:[UITextView
class]])) {
float h =
0.0;
float p =
0.0;
h = (scrollView.frame.size.height * scrollView.frame.size.height)/scrollView.contentSize.height;
p = (scrollView.contentOffset.y + scrollView.frame.size.height)/scrollView.contentSize.height*scrollView.frame.size.height
- h;
imageGView.frame =
CGRectMake(256,p + scrollView.contentOffset.y,5,h);
}
相关文章推荐
- UItextView,UIscrollView,UITableViewCell三种能够使页面滑动控件的总结(1)
- UITextView 或 继承自UIScrollView的控件在UINavigationController的根控制下的奇怪现象
- UItextView,UIscrollView,UITableViewCell三种能够使页面滑动控件的总结(3)
- 自定义控件(视图)28期笔记05:自定义控件之继承自View(滑动开关)
- Android自定义控件之继承ViewGroup创建新容器
- Android 自定义View第三弹——继承控件
- Android 自定义View 三板斧之一——继承现有控件
- iOS自定义UIScrollView的滚动条实例代码
- 自定义圆形控件继承ImageView加载本地图片
- 自定义View三板斧之一——继承现有控件
- iOS自定义UIScrollView的滚动条
- [置顶] 继承HorizontalScrollView的自定义轮播控件
- 继承View自定义开关控件
- iOS-通过继承UIScrollView来自定义UITableView实现对代理的详解
- Android学习自定义View(四)——继承控件(滑动时ListView的Item出现删除按钮)
- Android学习自定义View(四)——继承控件(滑动时ListView的Item出现删除按钮)
- 关于qt的webview控件的滚动条样式自定义
- UIScrollview一直显示滚动条,使用UIImageView自定义滚动条
- 几个经常需要自定义的组件:UIScrollview、UItextView、UIButton
- 设置继承自UIScrollView控件的滚动速度