2015-04-30 60 views
3

我想更改leftBarButtonItem的大小。
如果我用自定義barButtonItem去,那麼我不會得到該按鈕上的前一個標誌。
在這裏,我通過在didFinishLaunchingWithOptions方法中設置下面的代碼來成功製作小文本。我如何更改UINavigationItem的左邊欄按鈕的大小

[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setTitleTextAttributes: 
    @{NSFontAttributeName:[UIFont systemFontOfSize:12.0]} forState:UIControlStateNormal]; 

但是之前的標誌沒有變化。

Image

有什麼辦法(其他超集圖像),使之小,牌子? 我也試圖改變leftBarButtonItem的規模,但沒有可用的方法。

+0

你想設置自定義導航欄??,如果是,則參考,http://stackoverflow.com/questions/29664778/creating-a-uibarbutton-centered-programmatically/29665257#29665257 –

+0

@VirusSavaj,我沒有問題設置自定義,但我可以獲得以前登錄自定義按鈕? –

+0

如果你喜歡顯示(<)以前,那麼你必須爲該答案設置一個圖像,如果不想,則不需要。 –

回答

1
UIView *viewLeftSide = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 100.0, 30.0)]; 
viewLeftSide.userInteractionEnabled = YES; 

UIButton *btn1 = [[UIButton alloc] initWithFrame:CGRectMake(0.0, 5.0, 20.0, 20.0)]; 
[btn1 setImage:[UIImage imageNamed:@"img1"] forState:UIControlStateNormal]; 
[btn1 addTarget:self action:@selector(sel1) forControlEvents:UIControlEventTouchUpInside]; 
[viewLeftSide addSubview:btn1]; 

UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(50.0, 5.0, 20.0, 20.0)]; 
[btn2 setImage:[UIImage imageNamed:@"img2"] forState:UIControlStateNormal]; 
[btn2 addTarget:self action:@selector(sel2) forControlEvents:UIControlEventTouchUpInside]; 
[viewLeftSide addSubview:btn2]; 

UIBarButtonItem *leftBarItem = [[UIBarButtonItem alloc] initWithCustomView:viewLeftSide]; 

self.tabBarController.navigationItem.leftBarButtonItem = leftBarItem; 
1
UIBarButtonItem* backButton = [[UIBarButtonItem alloc]initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(barButtonBackPressed:)]; 


UIImage *backImage = [UIImage imageNamed:@"backarrow11.png"]; 
UIButton *back = [UIButton buttonWithType:UIButtonTypeCustom]; 
back.bounds = CGRectMake(0, 0, 17, 17); 
[back setImage:backImage forState:UIControlStateNormal]; 
[back addTarget:self action:@selector(barButtonBackPressed:)forControlEvents: UIControlEventTouchUpInside]; 

UIBarButtonItem *barBtn2 = [[UIBarButtonItem alloc] initWithCustomView:back]; 
self.navigationItem.leftBarButtonItems=[NSArray arrayWithObjects:barBtn2,backButton, nil];