2012-03-22 109 views
0

如果將imageView contentMode設置爲UIViewContentModeScaleAspectFill,我的UIButton圖像有問題。iOS上的UIButton圖像內容模式在TouchUpInside上閃爍

UIButton *imageButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 200, 100)]; 
imageButton.imageView.contentMode = UIViewContentModeScaleAspectFill; 
[imageButton setImage:[UIImage imageNamed:@"myImage.jpg"] forState:UIControlStateNormal]; 
[imageButton addTarget:self action:@selector(doSmth:) forControlEvents:UIControlEventTouchUpInside]; 

按鈕內部的圖像被正確縮放以填充整個按鈕區域。

點擊/觸摸按鈕後,圖像被調整大小(閃爍),就像它的contentMode被設置爲UIViewContentModeScaleAspectFit一樣。

有沒有人知道如何消除這種閃爍點擊/觸摸發生時?

謝謝!

回答

1

你爲什麼要設置按鈕的imageView的內容模式?您爲特定狀態設置的圖像始終填充按鈕的大小。所以,你必須設定按鈕的框架大小圖像的大小,而不是設置的ImageView contentMode

的閃爍可能是按鈕的higlighting。如果你想設置自定義圖像突出,使用此代碼:

[imageButton setImage:buttonHightlightImage forState:UIControlStateHightlighted] 
+0

但我想有相同的圖像的所有狀態... – 2012-03-22 09:31:24

+0

所以設置相同的圖像的聚焦狀態:)如果你這樣做,當你按下按鈕時,你將看不到任何交互 – 2012-03-22 09:36:25

+0

或者如果我用其他詞說:我想contentMode是相同的,就像按鈕處於正常狀態時一樣。 – 2012-03-22 09:38:53