2013-03-14 88 views
0

1st:Xcode版本4.6(4H127),模擬器6.1UIButton Bug? (Xcode版本4.6(4H127))

因此...我做了以下操作。 我的按鈕(從UIButton繼承)從nib加載。然後我爲UIControlStateNormal設置了它的圖像。 我有這樣的事情: button

之後,我需要廢止它:

[button setImage:nil forState:UIControlStateNormal]; 

然後我看到: wrong_button

檢查進行比較:

button

wrong_button

所以標題layouted權,但圖像依然存在...

而且,如果我做如下:

[button setImage:[UIImage new] forState:UIControlStateNormal]; 

我得到類似結果,第二個,但沒有一個像(如預期,但不完全,不布點):

new_image

我在這裏發生了什麼真正感興趣的?它真的很有趣,MB蘋果打破了什麼?或者我只是做錯了什麼?但我已經做了很多次(設置圖像 - >無),一切正常。

謝謝你閱讀:)我將不勝感激任何幫助。

回答

0

我寫了一個關於此的示例代碼。

你的兩個電話的工作我的罰款

[self.myCustomButton setImage:nil forState:UIControlStateNormal]; 
[self.myCustomButton setImage:[UIImage new] forState:UIControlStateNormal]; 

我認爲,你可以設置BackGroundImage,而不是image

enter image description here

採樣方法

-(IBAction)removeImage:(id)sender{ 

    [self.myCustomButton setImage:nil forState:UIControlStateNormal]; 
    //[self.myCustomButton setImage:[UIImage new] forState:UIControlStateNormal]; 
} 

-(IBAction)setImage:(id)sender{ 

    [self.myCustomButton setImage:[UIImage imageNamed:@"Button_Disable.jpg"] forState:UIControlStateNormal]; 
} 
+0

謝謝** Ramshad **爲您的回覆,但我寫了正是我在做什麼。如果我設置了backgroundImage,我的backgroundImage應該拉伸到我的按鈕的邊界。但我打電話給setImage,所以它沒有發生。 我手動重新創建按鈕,但我強烈地得到這個錯誤。 希望能找到解決方案。 – 2013-03-15 02:27:31

0

這件事是在這裏: 我的UIButton的子類覆蓋-layoutSubviews,在使用一些基準設定imageView.hidden。 因此,如果隱藏屬性爲YES,那麼當我調用setImage:forState時 - 發生此錯誤。

我的修復是下一個: 我剛開始使用alpha屬性而不是隱藏。 (我知道這是骯髒的,但這是我找到的最快的方式)