我正在使用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];
录制开始并从开始绘制波条,即从UIScrollView
的零X位置创建波形条。当条形图到达屏幕的一半时,我会通过提供UIScrollView
和contentSize
开始移动contentOffset
。因此,就像语音备忘录应用程序那样,酒吧将保持在中心位置。
除了正确的UIScrollView
时间线外,一切都很有效。如果录制很小,contentSize
将不会大于屏幕宽度。那么UIScrollView
可以低于0 contentOffSet
吗?因为在录制停止后,用户可以滚动时间线,并且开始录制的内容应该一直到屏幕的中心,因为中心有一个不会移动的擦洗条并显示当前的录制时间。
答案 0 :(得分:0)
你可以将contentInset属性设置为从左边有一些插入,这应该可以解决问题。
self.scrollView.contentInset = UIEdgeInsetsMake(0, self.scrollView.frame.size.width/2, 0, 0);
希望这有帮助。