第一种:
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];
}
}
}