iOS UIScrollView滑动条颜色

第一种:

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;

但是设计图可能不会只有这几种

第二种:
swift版本

func scrollViewDidScroll(_ scrollView: UIScrollView){
        if #available(iOS 13, *) {
            let verSubView: UIView = scrollView.subviews[(scrollView.subviews.count - 1)]
            if let verticalIndicator = verSubView.subviews.first {
                verticalIndicator.backgroundColor = UIColor.red
            }
            let horSubView: UIView = scrollView.subviews[(scrollView.subviews.count - 2)]
            if let verticalIndicator = horSubView.subviews.first {
                verticalIndicator.backgroundColor = UIColor.green
            }
//            (scrollView.subviews[(scrollView.subviews.count - 1)].subviews[0]).backgroundColor = UIColor.red //verticalIndicator
//            (scrollView.subviews[(scrollView.subviews.count - 2)].subviews[0]).backgroundColor = UIColor.green //horizontalIndicator
        } else {
            if let verticalIndicator: UIImageView = (scrollView.subviews[(scrollView.subviews.count - 1)] as? UIImageView) {
                verticalIndicator.backgroundColor = UIColor.red
            }
            if let horizontalIndicator: UIImageView = (scrollView.subviews[(scrollView.subviews.count - 2)] as? UIImageView) {
                horizontalIndicator.backgroundColor = UIColor.green
            }
        }
    }

Object-C版本

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (@available(iOS 13, *)) {
        UIView *verSubView = scrollView.subviews[(scrollView.subviews.count - 1)];
        UIView *horSubView = scrollView.subviews[(scrollView.subviews.count - 2)];
        
        if (verSubView.subviews.count > 0) {
            UIView *verticalIndicator = verSubView.subviews.firstObject;
            verticalIndicator.backgroundColor = [UIColor redColor];
        }
        
        if (horSubView.subviews.count > 0) {
            UIView *horizontalIndicator = horSubView.subviews.firstObject;
            horizontalIndicator.backgroundColor = [UIColor greenColor];
        }
    } else {
        if ([scrollView.subviews[(scrollView.subviews.count - 1)] isKindOfClass:[UIImageView class]]) {
            UIImageView *verticalIndicator = (UIImageView *)scrollView.subviews[(scrollView.subviews.count - 1)];
            verticalIndicator.backgroundColor = [UIColor redColor];
        }
        
        if ([scrollView.subviews[(scrollView.subviews.count - 2)] isKindOfClass:[UIImageView class]]) {
            UIImageView *horizontalIndicator = (UIImageView *)scrollView.subviews[(scrollView.subviews.count - 2)];
            horizontalIndicator.backgroundColor = [UIColor greenColor];
        }
    }
}

参考来自https://www.jianshu.com/p/0b4ceae11d08

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容