私はUIScrollView
を使って、音声メモアプリのように録音タイムラインを作成しています。これは最初に水平のscrollview's
フレームです。私はバーを描くのにCAShapeLayer
を使います。UIScrollViewがコンテンツオフセット0より下にスクロールする方法を教えてください。
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];
録音が開始され、すなわち波バーはUIScrollView
のゼロXの位置から作成され始めてから波バーを描画します。バーが画面の半分に達すると、私はcontentSize
とcontentOffset
を与えてUIScrollView
を戻し始めます。だから、バーはボイスメモアプリのようにちょうど中心にとどまるでしょう。
UIScrollView
タイムライン以外のすべてがうまくいきます。記録が小さい場合、contentSize
は画面の幅より大きくなりません。したがってUIScrollView
は0未満になる可能性がありますcontentOffSet
?録画を停止した後は、タイムラインをスクロールすることができ、中央には移動しない現在の録画時間を示すスクラブバーがあるため、録画コンテンツは画面の中央まで移動する必要があります。
お返事ありがとうございます。私はすでにそれを試しました。問題は、最初のバーが0番目の位置から作成されることです。スクロールバーが半画面に達するまで移動しません。スクロール表示を移動しています。レコードが小さすぎる場合。私はここで問題に直面している。 –
次に、scrollViewの幅としてmin contentSizeを試してみることができます。あなたの波が小さくても、あなたのcontentInsetは魔法をやるでしょう。 –
アイデアありがとう。私はそれに取り組み、あなたにお知らせします –