2016-08-23 38 views
1

我想聲音和動畫添加到按鈕,但是,它不能正常工作,例如:IBAction爲不具有聲音和動畫,迅速

@IBAction func retry(sender: AnyObject) 
{ 
    buttonBeep?.play() 
    sender.setImage(UIImage(named: "retryTwo.png")!, forState: .Highlighted) 
    self.viewDidLoad() 
} 

我的問題是,爲什麼它會自動跳轉到viewDidLoad並不符合前兩條線?我該如何解決它?

+3

不要調用'viewDidLoad()'!你從哪裏讀到你必須這樣做? –

回答

0

很可能第一行不會被執行,因爲buttonBeep是零,所以解包可選產生nil並且不會調用該方法。 對於第二行,我認爲你首先需要投送sender對象,然後調用setImage。 「sorState:.Highlighted」也有錯字,它是「forState」

發件人的類型是什麼? buttonBeep在哪裏初始化?

+0

buttonBeep在類ViewController中初始化爲var buttonBeep:AVAudioPlayer?它工作在不同的按鈕,所以我不知道爲什麼它不起作用。 – artG

+0

在play()之前調用prepareToPlay()嗎? –