2011-12-06 37 views
1

我爲UIButton爲「UIControlStateNormal」設置了一個圖像,如果我按下此按鈕,圖像會被遮住,並在我持有該圖像時翻轉倒置。如何在觸摸時禁用UIButton圖像的上下倒置?

陰影是好的,但我怎麼能禁用fliping,如果我不想設置狀態「UIControlStateHighlighted」的自定義圖像? 感謝您的幫助

我的代碼,以使按鈕是:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
     button.tag=i; 
     [button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; 
     button.frame = CGRectMake(xakt, yakt, a, b); 

之後,我與- (void)setImage:(UIImage *)image forState:(UIControlState)state功能設置按鈕圖像。 我包括2個圖像,先在正常狀態下,在按下狀態,第二

Normal statepressed state

+3

我從來沒有看到翻轉圖像......你的按鈕有什麼特別之處?請發佈代碼如何創建圖像以及如何創建按鈕。 – DarkDust

+0

請發佈代碼。我不明白你的問題實際上是什麼? – andikurnia

回答

0

似乎你不上UIButton實例使用- (void)setImage:(UIImage *)image forState:(UIControlState)state

+0

你有權利。當然我使用這個功能 – gbaor

2

我的上述這種行爲的觀察(點擊時的圖像上按鈕反轉)被限定於以下的情況:

  1. 該按鈕的圖像被設置使用 - (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state與的UIControlStateNormal的狀態。

  2. 這種情況可能不是必需的,但UIImageimageOrientationUIImageOrientationDown

指定兩個剩餘控制狀態的背景圖像應該可以解決問題。

UIButton *button = ... 
UIImage *image = ... 
[button setBackgroundImage:image forState:UIControlStateNormal]; 
// Specify same image for selected/highlighted states 
[button setBackgroundImage:image forState:UIControlStateSelected]; 
[button setBackgroundImage:image forState:UIControlStateHighlighted]; 

需要注意的是:

[button setBackgroundImage:image 
        forState:UIControlStateNormal | 
          UIControlStateSelected | 
          UIControlStateHighlighted]; 

沒有工作。

相關問題