我已經能夠通過故事板獲得帶有嵌入式uibutton的自定義UIBarButtonItem。這是地圖按鈕。 看到這個截圖的參數,我不得不使用背景屬性,而不是圖像。以編程方式設置UIBarButtonItem的背景圖像更改尺寸
但是,當我試圖以編程方式自定義一些uibarbuttons,那麼按鍵變小。當我使用Image屬性時,我與地圖按鈕的結果相同。
在這裏,我正在寫後退按鈕的代碼,
UIImage *backButtonImage = [[UIImage imageNamed:@"Retour.png"]resizableImageWithCapInsets:UIEdgeInsetsMake(21, 21, 21, 21)] ;
backButtonImage = [backButtonImage stretchableImageWithLeftCapWidth:0 topCapHeight:0];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, backButtonImage.size.width, backButtonImage.size.height);
[button setBackgroundImage:backButtonImage forState:UIControlStateNormal];
[button setBackgroundImage:backButtonImage forState:UIControlStateHighlighted];
[button addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithCustomView:button] ;
self.navigationItem.leftBarButtonItem = backBarButton;
我試着用或不用resizableImageWithCapInsets,stretchableImageWithLeftCapWidth與下面的結果相同(後退按鈕應該有大小的地圖按鈕相同)
我也試過iOS 5 setBackButtonBackgroundImage方法,但按鈕並沒有自定義。