2012-08-09 397 views
5

我有一個UIButton在我的ViewControllers中有三個不同的狀態圖像(正常,突出顯示和選擇)。當我按下這個按鈕時,它變得突出顯示,當我釋放它時,選中。我想製作一個動畫,在4秒內用淡入或淡出將按鈕突出顯示的圖像更改爲選定的圖像。添加選擇動畫到一個UIButton

有什麼建議嗎?

回答

2

您必須註冊您自己的UIButton子類,您可能需要用自定義動畫代碼覆蓋setSelectedsetHighlighted。更安全的賭注是直接子類UIControl並重新實​​現這些選擇器,以便您沒有任何UIButton特定的遺留問題。

9

正常選擇首先將圖像設置爲UIButton嘗試UIView transitionWithView,然後在動作處理動畫的變化:

[UIView transitionWithView:self.addListButton 
        duration:0.3 
        options:UIViewAnimationOptionTransitionCrossDissolve 
       animations:^{ 
        [self.addListButton setSelected:YES]; 
       } completion:nil]; 

我不想改變UIButton的狀態所以我只是改變了動畫塊中的正常圖片:

[self.addListButton setImage:[UIImage imageNamed:@"icon-addbutton.png"] 
    forState:UIControlStateNormal];