スクロールバーを表示したいのか、使わないのかしかわかりませんでした
tableView.showsVerticalScrollIndicator = YES/NO;
しかし、色、幅、そして可能であれば他の機能のためにスクロールバーをカスタマイズするにはどうすればよいですか?
どんな助けでも大歓迎です。
編集:
このアイデアは、MKMapKitでGoogleロゴを見つけて、表示されたままになるようにどこかに再配置する必要があるコードスニペットから得ました。次の方法で、UItbaleviewのスクロールバーにカスタム画像を設定できます。しかし、スクロールバーのサイズを変更しても何も見つかりませんでした。
-(void) ViewDidLoad
{
UIImageView *testView = [self.tableView.subviews objectAtIndex:1];
UIImage *Img = [UIImage imageNamed:@"image.png"];
[testView setImage:Img];
}
編集:Nektoによって提案されたように、幅を変更するために以下を使用することができます。
CGRect frame = testView.frame;
frame.size.width = 10; //set any value you want.
testView.frame = frame;
スクロールインジケーター:のスタイルのみを設定できます。
スクロールインジケーターのスタイル。
@property(nonatomic) UIScrollViewIndicatorStyle indicatorStyle
スタイル:
スクロールインジケーターのスタイルスクロールインジケーターのスタイル。これらの定数を使用して、indicatorStyleスタイルの値を設定します。
typedef enum {
UIScrollViewIndicatorStyleDefault,
UIScrollViewIndicatorStyleBlack,
UIScrollViewIndicatorStyleWhite
} UIScrollViewIndicatorStyle;
例:
tableView.indicatorStyle = UIScrollViewIndicatorStyleBlack;
以下を使用して、スクロールインジケーターの色を変更できます。
tableView.indicatorStyle=UIScrollViewIndicatorStyleWhite;
お役に立てれば。
この優れたオープンソースのカスタムスクロールバーをプロジェクトに追加できます。完全にカスタマイズ可能です: https://github.com/BasheerSience/BRScrollBar
スウィフト-3,4
メソッド "scrollViewDidScroll"をオーバーライドできない場合(他の機能やページングにこれを使用している可能性があります)、これを試してください!!
func setScrollIndicatorColor(color: UIColor) {
for view in self.tableView.subviews {
if view.isKind(of: UIImageView.self),
let imageView = view as? UIImageView,
let _ = imageView.image {
imageView.image = nil
view.backgroundColor = color
}
}
self.tableView.flashScrollIndicators()
}
viewDidAppear()では、このメソッドを呼び出すことができます。
Swift 3
collectionView.indicatorStyle = UIScrollViewIndicatorStyle.white
元のスクロールバーを非表示にして、カスタムスクロールバーを使用してスクロールできます。
– (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
コンテンツのスクロールに使用できます。カスタムバーをテーブルに追加するだけです。
私は他の方法を見つけませんでしたが、これは:
UITableView *v;
[v setIndicatorStyle:<#(UIScrollViewIndicatorStyle)#>];
利用できるスタイルは3つだけです。あなただけがあなた自身のUIScrollViewIndicatorStyleを実装する方法を見つけるが、これを行う方法を想像することさえできない場合:それらはUIKitフレームワーク(UIScrollView.hで宣言されている)の奥深くに実装されており、フラグを設定することしかできません、魔女は使用するスタイルを知るためにUIScrollViewによって使用されます。したがって、他の方法はわかりません。新しいスタイルを実装し、そこにフラグを立てる必要があります。それは可能ですか?
3つのデフォルトの色スタイルでインジケーターの色を変更します。
TextField.indicatorStyle = UIScrollViewIndicatorStyleWhite;