2012-07-08 21 views
0

所以我試圖在我的iOS應用中實現自定義按鈕來替換默認的圓角矩形按鈕。繼承人的代碼片段:自定義按鈕沒有出現在iOS設備

UIImage *normalImage = [[UIImage imageNamed:@"Images/whitebutton.png"] stretchableImageWithLeftCapWidth:12.0 topCapHeight:0.0]; 
UIImage *pressedImage = [[UIImage imageNamed:@"Images/bluebutton.png"] stretchableImageWithLeftCapWidth:12.0 topCapHeight:0.0]; 

[self.theButton setBackgroundImage:normalImage forState:UIControlStateNormal]; 
[self.theButton setBackgroundImage:pressedImage forState:UIControlStateHighlighted]; 

當我在模擬器中運行一切正常,我的自定義按鈕顯示出來。但是,當我在我的實際設備上運行它時,該按鈕僅顯示爲默認設置,根本沒有自定義設置。有人知道我哪裏出錯了嗎?

回答

0

您應該將whitebutton.png和bluebutton.png添加到您的項目中。並致電imageNamed:@"filename"而不是imageNamed:@"file path"。另外,在模擬器上運行時,區分大小寫沒有問題。在設備上,您必須輸入正確的文件名稱,因爲它區分大小寫。

希望這會有所幫助。

乾杯,

喬治

+0

啊輝煌。刪除了文件路徑,現在就開始處理!非常感謝 – 2012-07-08 18:31:05

+0

如果您發現有用的答案,請將其標記爲正確,以便其他人知道您的問題的解決方案。 Stack Overflow也是一個很好的練習,如果你有一個不錯的接受率,人們會更快地回答你的問題。很高興你解決了它。乾杯! – George 2012-07-08 18:32:50

+0

完成。我在這裏是新來的,所以只是讓我的軸承!再次感謝 – 2012-07-08 18:39:51

0

你的資源會得到壓扁在您的應用程序包。此外,iOS上的文件系統區分大小寫,而Mac OS X上的文件系統保留大小寫,因此請確保圖像的實際文件名是大小寫無誤的。如果是這樣,只是刪除Images/前綴,它應該工作:

[UIImage imageNamed:@"bluebutton"]; 

另外,如果圖像是PNG類型,你不必與imageNamed:指定文件擴展名。

0

使用

[UIImage imageNamed:@"whitebutton.png"] 

[UIImage imageNamed:@"bluebutton.png"] 

不管你怎麼把它在Xcode視覺組織,這一切又在包

1

IOS文件系統是大小寫敏感的變平,不像sinulator的。我首先檢查「Images」目錄。

(快速測試,如果我找錯了樹:請問+imageNamed:調用返回零?)