使用UIBarbuttonItem,initWithImage我得到一張我想要的小圖片。如何更改UIBarButtonItem圖像大小
我覺得有沒有辦法調整圖像的大小。
UIedgeInsetMake根本不起作用。調整picutre的大小也不會運行(像素)。 我有一個@ 2x 48x48圖標和一個正常的24x24。創建一個更大的空白邊框的新圖片無法運行。
如果我使用20x20,它會像素化。無論。
任何解決方案?謝謝!
使用UIBarbuttonItem,initWithImage我得到一張我想要的小圖片。如何更改UIBarButtonItem圖像大小
我覺得有沒有辦法調整圖像的大小。
UIedgeInsetMake根本不起作用。調整picutre的大小也不會運行(像素)。 我有一個@ 2x 48x48圖標和一個正常的24x24。創建一個更大的空白邊框的新圖片無法運行。
如果我使用20x20,它會像素化。無論。
任何解決方案?謝謝!
如果你想改變按鈕的大小來匹配圖片,最好創建一個UIButton並製作UIBarButtonItem自定義。在UIBarButtonItem中initWithImage圖像被縮放以適應UIBarButtonItem。
手錶this有關如何做到這一點的更多信息。
您可以使用自定義BarbuttonItem設置圖像,利用波紋管法調整與標題尺寸大小:
+(UIBarButtonItem *)createToolBarButtonItemWithTitle:(NSString *)t target:(id)tgt action:(SEL)a
{
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
// Since the buttons can be any width we use a thin image with a stretchable center point
UIImage *buttonImage = [[UIImage imageNamed:@"toolbarbutton_button_mouseup.png"] stretchableImageWithLeftCapWidth:5 topCapHeight:0];
UIImage *buttonPressedImage = [[UIImage imageNamed:@"toolbarbutton_button_mouseover.png"] stretchableImageWithLeftCapWidth:5 topCapHeight:0];
[[button titleLabel] setFont:[UIFont boldSystemFontOfSize:12.0f]];
//[[button titleLabel] setFont:[UIFont fontWithName:@"Futura-Medium" size:12.0]];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted];
[[button titleLabel] setShadowOffset:CGSizeMake(0.0, 1.0)];
CGRect buttonFrame = [button frame];
buttonFrame.size.width = [t sizeWithFont:[UIFont boldSystemFontOfSize:12.0]].width + 24.0;
//Applicable only for iPhone FrameFun
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone && [[[NSUserDefaults standardUserDefaults] stringForKey:@"is_Landscape"] isEqualToString:@"landscape"]) {
buttonFrame.size.height = 23.0;
}else {
buttonFrame.size.height = buttonImage.size.height;
}
[button setFrame:buttonFrame];
[button setBackgroundImage:buttonImage forState:UIControlStateNormal];
[button setBackgroundImage:buttonPressedImage forState:UIControlStateHighlighted];
[button setTitle:t forState:UIControlStateNormal];
[button addTarget:tgt action:a forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
return [buttonItem autorelease];
}
這種方法讓你做出按鈕的慾望像動力大小。 在這裏,我用stretchableImageWithLeftCapWidth
調整圖像。我認爲它會幫助你。您也可以使用整個方法來製作自定義BarButton。
不錯的代碼,但它不是我要找的。我不想「畫」一個自定義按鈕。我想要一個經典的barbuttonItem,裏面的圖片比默認的裏面的圖片小一些。 –
這可以通過以下的UIBarButtonItem
試試看......
這對我來說很完美。尤其適用於.PDF圖像 –
謝謝您的回答,但按鈕的大小是好的,實際上它是完美的。這是我想要的更小的圖像。 –