2013-02-26 56 views
0

我在一個應用程序中工作,我需要記錄和播放音頻文件。我已經完成了與錄製和播放有關的所有事情。這一次我對UI有點困惑,可能是第一次出現這種混亂。 Play backIOS中的UI實現查詢

根據上面的圖片我需要顯示回放軌跡,到目前爲止,我已經用很多進度條和滑塊來顯示回放秒數或服務器響應。我正在檢查我的自我實現這一點,但我沒有得到任何確切的想法。有人可以建議我實施相同的任何想法。你的建議對我的工作更有用。提前致謝。

+4

輸入**數學的概念,**尤其是'sin()'和'cos()'三角函數。 – 2013-02-26 05:48:34

+0

(有用的評論)感謝您的快速響應。我會嘗試這種前景。 – ajay 2013-02-26 05:51:52

回答

1

您可以使用我在下面發佈的類,並在背景圖片之間使用它,並使用暫停/播放按鈕將其放在頂部。對於當前位置的資產(小環),您可能需要使用基本的三角函數。

一個簡單的UIView子類,根據進度繪製一個環。這可能需要由圓半徑的配置和這樣的方式各有所愛:

CircleProgressView.h

@interface CircleProgressView : UIView 
{ 
    double progress_; 
    UIColor *color_; 
} 

- (void)setProgress:(float)progress; 
- (void)setColor:(UIColor *)color; 


@end 

CircleProgressView.m

@implementation CircleProgressView 

- (void)setProgress:(float)progress 
{ 
    _progress_ = progress; 
    [self setNeedsDisplay]; 
} 

- (void)setColor:(UIColor *)color 
{ 
    color_ = color; 
} 

- (void)drawRect:(CGRect)rect 
{ 
    CGContextRef context = UIGraphicsGetCurrentContext(); 
    CGContextSetLineWidth(context, 6); 
    CGContextSetStrokeColorWithColor(context, color_.CGColor); 
    CGContextAddArc(context, 
        self.frame.size.width/2.0, 
        self.frame.size.height/2.0, 
        self.frame.size.width/2 - 4.5, 0.0, M_PI * progress_ * 2.0, NO); 

    CGContextStrokePath(context); 
} 
+0

+1這真是太棒了! – ajay 2013-02-26 13:38:56