2014-03-02 58 views
0

我在我的viewController中有一個AVAudioPlayer屬性,如果音樂正在播放,我想在自定義uiview中畫一個圓。如何在自定義uiview中調用UIViewController屬性?

在我MyViewController.h:

@property (strong, nonatomic) AVAudioPlayer *audio; 

在我view.h

- (void) drawCircle 
{ 

//DRAW Circle 
} 

現在我想查一下我的View.m如果音頻播放。

我嘗試添加下面我View.h

@property (nonatomic, assign) MyViewController *ViewController_audio; 

,然後在

if ([ViewController_audio _audio].playing) { },但沒有奏效。

回答

0

您的語法錯誤。擺脫下劃線:

if ([ViewController_audio audio].playing) 

if (ViewController_audio.audio.playing) 

無論是語法是有效的。

P.S. 「...它沒有工作」是至高無上無益。總是解釋發生了什麼。在你的情況下,我假設你有一個編譯器錯誤。因此,複製並粘貼編譯器錯誤的完整文本,並明確告訴它發生的行。

+0

我得到以下錯誤:成員引用基類型'int *'不是結構或聯合。 – milan7

+0

我也嘗試在我的uiviewcontroller中調用drawCircle,但沒有顯示。無論如何要添加圓作爲子視圖? – milan7

0

視圖不應該有對視圖控制器的引用。這是一個糟糕的設計。 相反,你應該有一個視圖中的標誌,它將在你的視圖控制器播放時設置。該視圖將讀取此屬性&作爲ui的決定。

從設計的角度來看,我會建議不應該留下任何決定。視圖控制者有權思考,視圖只應該顯示。

+0

這是有道理的,所以我應該在我的uiview中做一個bool方法? – milan7

+0

你可以做到這一點。但嘗試尋找一種方式,您的視圖控制器顯示或隱藏視圖的東西,而不是視圖本身做隱藏/顯示 –

相關問題