2014-09-19 125 views
0

我用導航控制器&導航欄在StroryBoard在ios中自定義導航欄

我想爲導航欄的右側定製一個視圖的導航欄。

enter image description here

我試圖代碼

UIButton *btn_list=[UIButton buttonWithType:UIButtonTypeCustom]; 
    btn_list.frame=CGRectMake(0, 0, 60, 30); 
    [btn_list setTitle:@"Liste" forState:UIControlStateNormal]; 
    [btn_list setBackgroundImage:[UIImage imageNamed:@"red-left.png"] forState:UIControlStateNormal]; 
    [btn_list setBackgroundImage:[UIImage imageNamed:@"black-left.png"] forState:UIControlStateSelected]; 
    UIBarButtonItem *list_bar=[[UIBarButtonItem alloc]initWithCustomView:btn_list]; 

    UIButton *btn_map=[UIButton buttonWithType:UIButtonTypeCustom]; 
    btn_map.frame=CGRectMake(0, 0, 60, 30); 
    [btn_map setTitle:@"Karte" forState:UIControlStateNormal]; 
    [btn_map setBackgroundImage:[UIImage imageNamed:@"red-right.png"] forState:UIControlStateNormal]; 
    [btn_list setBackgroundImage:[UIImage imageNamed:@"black-right.png"] forState:UIControlStateSelected]; 
    UIBarButtonItem *map_bar=[[UIBarButtonItem alloc]initWithCustomView:btn_map]; 

    self.navigationItem.rightBarButtonItems=[[NSArray alloc]initWithObjects:list_bar,map_bar, nil]; 

的嘗試代碼問題:有兩個按鈕之間的空間。

我該如何做到這一點?

+0

澄清我,你想使用段控制作爲barbuttonitem。我對嗎? – sreekanthk 2014-09-19 07:02:51

+0

@sreekanthk,是的,你是對的 – user2893370 2014-09-19 07:03:31

+0

然後yru使用兩個按鈕,而不是採取UISegmentControl – sreekanthk 2014-09-19 07:05:04

回答

1

只需使用分段控制:你有一個完整的例子HERE

+0

但在段控制我不是能夠設置自定義圖像:( – user2893370 2014-09-19 07:07:10

+0

@ user2893370不,你可以自定義SegmentedControl檢查http://stackoverflow.com/questions/21603822/ios-6-uisegmentedcontrol-with-ios-7-design和http:// stackoverflow。 COM /問題/ 18900034 /使用-IOS-6式分段 - 控制 - 在-IOS-7 – 2014-09-19 07:22:25

1

聲明分段控制與自定義視圖

UISegmentedControl *control = (UISegmentedControl *) [segmentBarButton customView];

,然後將它添加到barbuttonitem視圖

UIBarButtonItem *segmentBarButton=[[UIBarButtonItem alloc] initWithCustomView:control];

別忘了寫e線涉及到段控制自定義視圖像ur的要求添加紅色或黑色圖像段0或1.