我有一段糟糕的時間,試圖爲我的UIBarButtonItems使用圖像而不是標題。我的理解是,設置UIBarButtonItem的圖像會自動將圖像縮放爲UIBarButtonItem的正確大小。這是有道理的,因爲似乎沒有任何方法來調整圖像大小(不能設置imageView,或添加子視圖或其他任何東西)。然而,當我使用相同的尺寸(24×24)的兩個不同的圖像,我得到不同的結果:無法以編程方式向UIBarButtonItem添加正確大小的圖像
myAddButton = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"plus.png"] style:UIBarButtonSystemItemAdd target:self action:@selector(addButtonTapped)];
self.navigationItem.rightBarButtonItem = myAddButton;
myLeftButton = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"gear.png"] style:UIBarButtonSystemItemAdd target:self action:@selector(settingsButtonTapped)];
self.navigationItem.leftBarButtonItem = myLeftButton;
導致以下:
再次,gear.png和加。 png是相同的大小,24x24。我已經在Photoshop中確認了這一點。
現在如果我帶的代碼完全相同的線路,只是更換齒輪加:
myAddButton = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"plus.png"] style:UIBarButtonSystemItemAdd target:self action:@selector(addButtonTapped)];
self.navigationItem.rightBarButtonItem = myAddButton;
myLeftButton = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"plus.png"] style:UIBarButtonSystemItemAdd target:self action:@selector(settingsButtonTapped)];
self.navigationItem.leftBarButtonItem = myLeftButton;
我得到這個:
的顏色是由於一個是差異啓用和其他不是。
我只是讓他們UIButtons,以便我可以使用imageViews並手動設置此自己,除了我喜歡使用UIBarButtonItem給我的背景,我不想在Photoshop中重新創建它。
關於這裏發生了什麼以及我如何解決它的任何想法?
在此先感謝。
編輯:
原來,因爲我需要清除我的建立和刪除應用程序關閉模擬器,這個問題被引起,因爲它是從我此前使用48x48像素的圖像拉動。
嘗試首先創建UIImage並檢查圖像的大小。 – Dave 2013-02-15 08:40:25
使用'UIBarButtonSystemItem' – 2013-02-15 08:41:55