0

通常、iOS のスクロールバーはUIScrollView少し遅れて非表示になりますが、アプリのスクロールバーを次の図のように常に表示したいと考えています。常に表示されるスクロールバー

この機能を実装する方法はありますか? これにカスタム UISlider を使用できますか? 答えられる場合は、母国語ではないので簡単な英語で答えてください。ありがとうございました!

4

1 に答える 1

5

スクロールバーを永続的に表示する直接的な方法はありません。

これは、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;

これがスクロールバーパーマネントを表示するのに役立つことを願っています.

于 2013-07-27T07:39:40.127 に答える