2012-01-19 12 views
2

想知道在iPhone中做這種事情有多簡單。從分貝讀數到動態針圖形如何輕鬆傳遞價值

會想如何使針移動

感謝您的閱讀和評論

enter image description here

+0

如果你已經有了閱讀,那應該相當簡單。它大部分是靜態的,那麼你有三個標籤可以更新,針可以是另一個動態移動的視圖。你可能想在你的問題中獲得更具體的內容。 –

+0

感謝您的回覆#triPhoenix。 我想知道如何移動針 – Desmond

回答

2

你應該能夠把針在UIImageView。每個視圖現在都有一個關聯的轉換,這基本上是一個矩陣,它決定原始點如何映射到屏幕。有相當簡單的方法做到這簡單的操作:

UILabel *lblTest = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; 
lblTest.text = @"Testing"; 
[view addSubview:lblTest]; 

lblTest.transform = CGAffineTransformMakeRotation(M_PI/4.0); 

將導致45度(這是PI的弧度四分之一旋轉的標籤,你可以通過M_PI乘以轉換爲弧度除以180.0)。使用這個你已經有了方法手頭動畫針每當一個新的數據點進來

注意,這也可以是動畫:

[UIView animateWithDuration:5.0 animations:^{ 
    lblTest.transform = CGAffineTransformMakeRotation(M_PI_4); 
}]; 

這將慢慢旋轉視圖45度5秒的過程。這裏有一些關於動畫的教程,例如How to use UIView animation tutorial。和框架已經允許一些先進的東西,例如:

[UIView animateWithDuration:1.0 delay:1.0 options:UIViewAnimationCurveEaseInOut|UIViewAnimationOptionAutoreverse|UIViewAnimationOptionRepeat animations:^{ 
    lblTest.transform = CGAffineTransformMakeRotation(M_PI_4); 
} completion:^(BOOL finished) {   
}]; 

將「平滑」開始和轉動結束時,將自動轉回又一遍地重複這一點。這導致等待1秒鐘後標籤「搖擺」。

您可以使用它在值之間跳轉時引入一些平滑效果。例如,如果您只是每250毫秒採樣一次數據,那麼您可以使用該時間來引入一些動畫。

+0

非常感謝同樣的,將嘗試它 – Desmond

2

如果你知道自己在做什麼,很容易 - 申請A-加權濾波器,RMS,應用時間加權濾波器,轉換爲dB。主要問題是校準麥克風。

但是,如果您之前沒有使用雙拼處理器進行音頻處理,並且您對此不瞭解,則可能並不那麼容易。

+0

感謝您的信息,想了解 – Desmond

1

這取決於您在objc中有多少經驗:) 但是用像這樣的量表代表模擬值不是太複雜。

This鏈接,例如應該讓你開始...

+0

感謝您的信息,是鏈接良好的平臺 – Desmond