0

UIScrollViewボイスメモアプリと同じように録音タイムラインを作成するために使用しています。scrollview's冒頭の横枠です。私はCAShapeLayerバーを描くために使用します。

 scrlViewBars.frame = CGRectMake(0, scrlViewBars.frame.origin.y, SCREEN_WIDTH, 100);
    ....
 [shapeLayer setPath:[[UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, barWidth, barHeight) cornerRadius:2] CGPath]];
 [scrlViewBars.layer addSublayer:shapeLayer];

記録が開始され、最初から波棒が描画されます。つまり、波棒は のゼロ X 位置から作成されますUIScrollView。バーが画面の半分に達したら、 とUIScrollViewを与えて戻りcontentSize始めcontentOffsetます。その後、バーはボイスメモアプリと同じように中央に残ります。

UIScrollView適切なタイムラインを除いて、すべてがうまく機能します。録画が小さい場合、contentSize画面幅より大きくなりません。UIScrollViewでは、 0 を下回ることは可能contentOffSetですか? 記録が停止した後、ユーザーはタイムラインをスクロールでき、記録の開始コンテンツは画面の中央まで移動する必要があります。これは、中央に移動しないスクラブ バーがあり、現在の記録時間が表示されるためです。

4

1 に答える 1

0

contentInset プロパティを設定して、左からのインセットを設定できます。これでうまくいくはずです。

self.scrollView.contentInset = UIEdgeInsetsMake(0, self.scrollView.frame.size.width/2, 0, 0);

お役に立てれば。

于 2016-10-20T09:41:56.303 に答える