2013-06-02 92 views
0

我想通過以下代碼爲UIButton設置UIImage,但沒有任何反應。我將這些設置在viewDidLoad中。它顯示的唯一方法是如果我使用故事板並以這種方式設置圖像。UIButton setImage不起作用

- (void)viewDidLoad 
{ 
    ... 

    [self.locateMeButton setFrame:CGRectMake(11, 11, 46, 46)]; 
    [self.locateMeButton setImage:[UIImage imageNamed:@"locateme_disabled.png"] forState:UIControlStateDisabled]; 
    [self.locateMeButton setImage:[UIImage imageNamed:@"locateme_active.png"] forState:UIControlStateHighlighted]; 
    [self.locateMeButton setBackgroundImage:[UIImage imageNamed:@"locateme_normal.png"] forState:UIControlStateNormal]; 
    ... 

} 
+0

類型未在此處定義。圓形或自定義按鈕? – Nirav

+3

這是零嗎? – 2013-06-02 19:56:13

+0

發現問題。不知何故,當我將crontrol拖放到VC時,Xcode沒有建立與viewcontroller的連接。它創建了IBOutlet,但沒有建立連接(右擊故事板中的按鈕顯示沒有連接)? – jdog

回答

0
UIButton *aboutBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 

[aboutBtn addTarget:self action:@selector(showAboutPage) forControlEvents:UIControlEventTouchUpInside]; 
[aboutBtn setTitle:@"About Me" forState:UIControlStateNormal]; 
[aboutBtn setFrame:CGRectMake(80.0, 120.0, 162.0, 42.0)]; 
[aboutBtn setBackgroundImage:[UIImage imageNamed:@"locateme_normal.png"] forState:UIControlStateNormal]; 
[aboutBtn setBackgroundImage:[UIImage imageNamed:@"locateme_disabled.png"] forState:UIControlStateHighlighted]; 
0

我也有類似的問題。事實證明,在我的情況下,我正在重新創建工具欄,因此正在使用錯誤的工具欄對象。 (試圖訪問錯誤工具欄上的按鈕)。基本上,系統地檢查你的方法是否作用於你所期望的所有接收器並且正在傳遞你期望的參數值似乎是一個好主意。