2012-06-17 106 views
0

我想使用iOS 5 UIAppearance API自定義UINavigationBar的後退按鈕。我想用的圖片是這樣的:https://www.dropbox.com/s/ce83rw0e3vs9dwo/bt-back.png,代碼如下:UIEdgeInsets調整大小後退按鈕

// Customize back button items differently 
UIEdgeInsets aInset = UIEdgeInsetsMake(10, 10, 10, 10); 
UIImage *buttonBack30 = [[UIImage imageNamed:@"bt-back.png"] resizableImageWithCapInsets:aInset]; 
UIImage *buttonBack24 = [[UIImage imageNamed:@"bt-back.png"] resizableImageWithCapInsets:aInset]; 
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonBack30 forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonBack24 forState:UIControlStateNormal barMetrics:UIBarMetricsLandscapePhone]; 

現在,該代碼的輸出如下:http://i.imgur.com/X6QBK.png

我知道我必須設置UIEdgeInsets到適當的價值,但我正在閱讀文檔,似乎只有保留邊緣而不是中心,女巫似乎是我需要做的事情。

有什麼辦法可以保留中心而不是邊緣?如果不是,我有什麼尺寸來生成PNG,所以iOS不會延伸它?

非常感謝

回答

0

您可以使用方法

- (UIImage *)backButtonBackgroundImageForState:(UIControlState)state 
    barMetrics:(UIBarMetrics)barMetrics 

檢索後退按鈕的背景圖片,檢索其size屬性,然後用這個大小,以使您的自定義形象?

+0

不,它沒有工作...每次都必須手動設置後退按鈕 –