UI提供3 options for UIScrollViewIndicatorStyle,但我想让UIScrollView指标变为红色,这不是标准样式之一。
我可以这样做吗?如果是这样,怎么样?
答案 0 :(得分:1)
UIScrollView指标都是UIScrollView的子视图。所以我们可以 访问UIScrollView的子视图并更改子视图的属性。
1.添加UIScrollViewDelegate
@interface ViewController : UIViewController<UIScrollViewDelegate>
@end
<强> 2。在实现部分中添加scrollViewDidScroll
-(void)scrollViewDidScroll:(UIScrollView *)scrollView1
{
//get refrence of vertical indicator
UIImageView *verticalIndicator = ((UIImageView *)[scrollView.subviews objectAtIndex:(scrollView.subviews.count-1)]);
//set color to vertical indicator
[verticalIndicator setBackgroundColor:[UIColor redColor]];
//get refrence of horizontal indicator
UIImageView *horizontalIndicator = ((UIImageView *)[scrollView.subviews objectAtIndex:(scrollView.subviews.count-2)]);
//set color to horizontal indicator
[horizontalIndicator setBackgroundColor:[UIColor blueColor]];
}
注意: - 因为每次滚动时这些指示都会更新 (表示重置为默认值)。所以,我们将此代码放在scrollViewDidScroll中 委托方法。
的 Demo available on GitHub - https://github.com/ioshacks/UIScrollViewIndicatorColor 强>
答案 1 :(得分:0)
我肯定不是你想要的答案,但你可以在滚动视图的顶部放置一个uiview(用于滚动指示器)然后添加一个委托来监听滚动滚动视图的时间,然后更新位置的UIView