通常、iOS のスクロールバーはUIScrollView
少し遅れて非表示になりますが、アプリのスクロールバーを次の図のように常に表示したいと考えています。
この機能を実装する方法はありますか? これにカスタム UISlider を使用できますか? 答えられる場合は、母国語ではないので簡単な英語で答えてください。ありがとうございました!
スクロールバーを永続的に表示する直接的な方法はありません。
これは、UISlider と UIImageView で行うことができます。
1) 縦線用の UImage ビューを追加します。
UIImageView *scrollLineImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"scroll_1-1.png"]];
scrollLineImageView.frame = CGRectMake(970,160,2,254);
[self.view addSubview:scrollLineImageView];
2) UISlider を追加し、UISlider 垂直に変換します。UISlider の高さは、スクロール ビューの高さである必要があります。
CGAffineTransform trans = CGAffineTransformMakeRotation(M_PI * 0.5);
self.scrollViewSlider.transform = trans;
self.scrollViewSlider.frame = CGRectMake(972.5,189,0, self.textScrollView.frame.size.height);
Set Slider minimum value to 0 and maximum value to scrollView content height.
self.scrollViewSlider.minimumValue = 0.0;
self.scrollViewSlider.maximumValue = self.textScrollView.contentSize.height;
3) UISlider のサム イメージを設定する
[self.scrollViewSlider setThumbImage:[UIImage imageNamed:@"scroll_circle.png"] forState:UIControlStateNormal];
4) 最小トラック画像と最大トラック画像をクリアします。
UIImage *clearImage = [[UIImage alloc] init];
[self.scrollViewSlider setMinimumTrackImage:clearImage forState:UIControlStateNormal];
[self.scrollViewSlider setMaximumTrackImage:clearImage forState:UIControlStateNormal];
5) スライダーをスクロールする ScrollView Delegate 関数
self.scrollViewSlider.value=scrollView.contentOffset.y;
これがスクロールバーパーマネントを表示するのに役立つことを願っています.