2

我有一個自定義PNG我設定爲這樣的UINavigationBar的後退按鈕:UINavigationBar的後退按鈕沒有文字和固定大小

UIImage *navBackgroundPortait = [[UIImage imageNamed:@"nav_bg_portrait.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]; 
[[UINavigationBar appearance] setBackgroundImage:navBackgroundPortait forBarMetrics:UIBarMetricsDefault]; 

在viewDidLoad方法我用這個劈顯示我的視圖控制器沒有標題/文本後退按鈕:

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@" " style:UIBarButtonItemStyleBordered target:nil action:nil]; 

但是我的背部按鈕PNG獲取寬度拉伸,我真的想它不這樣做,在所有。我只是想在所有視圖上顯示一個靜態png圖像作爲我的後退按鈕,並且沒有文本,並且永遠不會拉伸它。我可以這樣做嗎?我該怎麼做?

問候
瑟倫

回答

6

使用此:

UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 30)]; 
[backButton setImage:[UIImage imageNamed:@"nav_bg_portrait.png"] forState:UIControlStateNormal]; 
[backButton addTarget:self action:@selector(popNavigationControllerFunction) forControlEvents:UIControlEventTouchUpInside]; 
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton]; 
0

因爲你告訴形象得到與resizableImageWithCapInsets拉伸: 如果要顯示的圖像,因爲它是隻是做:

UIImage *navBackgroundPortait = [UIImage imageNamed:@"nav_bg_portrait.png"];