如何设置tableView、scrollView的滚动条颜色、位
2019-01-22 本文已影响29人
Joymerry
1.设置滚动条居左是通过设置滚动条的偏移量实现的
//通过设置偏移量来设置滚动条居左�
tableViews.scrollIndicatorInsets = UIEdgeInsetsMake(0, 0, 0, tableViews.bounds.size.width-7);
参数分别代表上、左、下、右的偏移量,偏移量越大,离对应的偏移点越远,上边代码示例,代表的意思为距离右边的偏移量为tableviews的宽度减7(即距离左边距7像素)
2.设置滚动条颜色问题
- 第一种:系统简单的方法indicatorStyle属性,可满足简单需求
枚举类型:
typedef NS_ENUM(NSInteger, UIScrollViewIndicatorStyle) {
UIScrollViewIndicatorStyleDefault, // black with white border. good against any background
UIScrollViewIndicatorStyleBlack, // black only. smaller. good against a white background
UIScrollViewIndicatorStyleWhite // white only. smaller. good against a black background
};
//分别设置默认值、黑色、白色
tableViews.indicatorStyle = UIScrollViewIndicatorStyleWhite;
- 第二种:通过遍历视图的子视图方式获取到滚动条然后进行设置
//设置滚动条颜色(代码必须放在tableview加载父视图之后才有效,否则设置没有效果)
[tableViews.subviews enumerateObjectsUsingBlock:^( id obj, NSUInteger idx, BOOL * _Nonnull stop)
{
if ([obj isKindOfClass:[UIImageView class]]) {
UIImageView * imageView = [[UIImageView alloc] init];
imageView = obj;
//必须先设置imageView的image为空的,否则颜色显示偏灰,之前默认的颜色会对背景颜色有影响,然后再设置背景颜色
imageView.image = [UIImage imageNamed:@""];
imageView.backgroundColor = RGB(242, 111, 11);
}
}];
滚动条本身是一个imageView,通过遍历获取到imageView,必须先设置imageView的image为空的,否则颜色显示偏灰,之前默认的图像会对背景颜色有影响,然后再设置背景颜色,出来的效果就是想要的效果!
滚动条颜色居左并更改颜色.png