2013-02-19 67 views
0
-(void)SetNavBarView{ 
    searchBarBtn.hidden=YES; 

    UIView *NavBarView ; 
    NavBarView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 44)]; 

    UIButton *btn1 = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 44, 44)]; 
    btn1.titleLabel.font=[UIFont systemFontOfSize:14]; 
    [btn1 setBackgroundImage:[UIImage imageNamed:@"list.png"] forState:UIControlStateSelected]; 
    [btn1 setBackgroundImage:[UIImage imageNamed:@"nine_grid.png"] forState:UIControlStateNormal]; 
    btn1.tag=10; 
    [btn1 addTarget:self action:@selector(btnBarClick:) forControlEvents:UIControlEventTouchUpInside]; 
    [NavBarView addSubview:btn1]; 


    UIButton *btn2 = [[UIButton alloc] initWithFrame:CGRectMake(45, 0, 44, 44)]; 
    btn2.titleLabel.font=[UIFont systemFontOfSize:14]; 
    [btn2 setBackgroundImage:[UIImage imageNamed:@"map.png"] forState:UIControlStateNormal]; 
    btn2.tag=11; 
    [btn2 addTarget:self action:@selector(btnBarClick:) forControlEvents:UIControlEventTouchUpInside]; 

    [NavBarView addSubview:btn2]; 



    UILabel *labtitle=[[UILabel alloc]initWithFrame:CGRectMake(95, 0, 120, 44)]; 
    labtitle.text=NSLocalizedString(@"people_nearby", nil); 
    labtitle.textColor=[UIColor whiteColor]; 
    labtitle.backgroundColor=[UIColor clearColor]; 
    labtitle.textAlignment=UITextAlignmentCenter; 
    labtitle.font=[UIFont boldSystemFontOfSize:20.0]; 
    [NavBarView addSubview:labtitle]; 



    UIButton *btn3 = [[UIButton alloc] initWithFrame:CGRectMake(135, 0, 95, 44)]; 
    btn3.tag=12; 
    [btn3 addTarget:self action:@selector(btnBarClick:) forControlEvents:UIControlEventTouchUpInside]; 

    [NavBarView addSubview:btn3]; 

    arrowImage=[[UIImageView alloc]initWithFrame:CGRectMake(75, 16, 10, 10)]; 
    arrowImage.image=[UIImage imageNamed:@"arrow_down.png"];//arrow_down.png 
    [btn3 addSubview:arrowImage]; 

    UIButton *btn4 = [[UIButton alloc] initWithFrame:CGRectMake(230, 0, 44, 44)]; 
    btn4.titleLabel.font=[UIFont systemFontOfSize:14]; 

    [btn4 setBackgroundImage:[UIImage imageNamed:@"ic_action_search.png"] forState:UIControlStateNormal]; 
    btn4.tag=13; 
    [btn4 addTarget:self action:@selector(btnBarClick:) forControlEvents:UIControlEventTouchUpInside]; 

    [NavBarView addSubview:btn4]; 


// [bubble stretchableImageWithLeftCapWidth:20 topCapHeight:14] 
    UIButton *btn5 = [[UIButton alloc] initWithFrame:CGRectMake(275, 0, 44, 44)]; 
    btn5.backgroundColor=[UIColor redColor]; 
    [btn5 setBackgroundImage:[UIImage imageNamed:@"location.png" ] forState:UIControlStateNormal]; 
    btn5.tag=14; 
    [btn5 addTarget:self action:@selector(btnBarClick:) forControlEvents:UIControlEventTouchUpInside]; 
    [NavBarView addSubview:btn5]; 

    NavBarView.hidden=NO; 

// [self.view addSubview:NavBarView]; 
    self.navigationItem.titleView=NavBarView; 


} 

我有一個UINavigationItem,它有五個按鈕。第五個按鈕btn5只能點擊左側,但不能點擊btn5的右側。 (按鈕大小爲44 x 44)iOS:無法點擊右側的UINavigationItem

+0

你確定bcoz我已經使用你的代碼,它完美的工作。 – Dilip 2013-02-19 07:24:13

+0

btn5 x:275- 319如果你點擊x:305-319我認爲btn5不是點擊 – pengwang 2013-02-19 07:27:49

+0

在我看來,titleview寬度比你的yiur視圖更小,你試圖添加? – Omarj 2013-02-19 07:28:24

回答

0

這是因爲UINavigationBarItem的大小,默認情況下會在兩邊留下14px。如果您爲第一個按鈕添加背景顏色,則可以看到該空間。

+0

你可以解釋爲什麼是-1?plz .. – Dilip 2013-02-19 07:50:20

+0

不是我給你的-1 – pengwang 2013-02-19 09:09:53

+0

我收到你的答案,但如何刪除14px左右兩邊的離開空間 – pengwang 2013-02-19 09:10:37

相關問題