導覽列設定多個按鈕、背景圖、圖片與文字按鈕方法小結,導覽列小結

來源:互聯網
上載者:User

導覽列設定多個按鈕、背景圖、圖片與文字按鈕方法小結,導覽列小結

設定一個按鈕的方法就不再贅述了

法一:

    UIBarButtonItem *oneButton = [[UIBarButtonItemalloc]initWithTitle:@"設定" style:UIBarButtonItemStylePlain

target:selfaction:@selector(oneButtonAction:)];

    UIBarButtonItem *twoButton = [[UIBarButtonItemalloc]initWithTitle:@"訊息" style:UIBarButtonItemStyleDone target:selfaction:@selector(twoButtonAction:)];

    NSArray *actionButtonItems = @[oneButton,   twoButton];

    self.navigationItem.rightBarButtonItems = actionButtonItems;

註:以上的style參數,我寫的是UIBarButtonItemStylePlain和UIBarButtonItemStyleDone兩種方式,UIBarButtonItemStyleDone預設字型為系統按鈕的字型的設定(加粗),UIBarButtonItemStylePlain預設字型為lable的字型設定(17號字,無加粗)

 

法二:(此法本人不推薦,因為在點擊時,兩個按鈕的背景(即UIToolbar的背景)都會有常亮顯示)

    UIToolbar* tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, WIDTHINIPHONE6(95), 44)];

    [tools setBarTintColor:DOMINANTCOLOR];

    [tools setTintColor:WHITEBACK];

    [tools setAlpha:[self.navigationController.navigationBar alpha]];

    UIBarButtonItem *setBtn = [[UIBarButtonItem alloc] initWithTitle:@"設定" style:UIBarButtonItemStylePlain target:self action:@selector(setUserSetting)];

    UIBarButtonItem *msgBtn = [[UIBarButtonItem alloc] initWithTitle:@"訊息" style:UIBarButtonItemStylePlain target:self action:@selector(lookUserMsg)];

    NSArray *btnArr = @[setBtn,msgBtn];

    [tools setItems:btnArr];

    UIBarButtonItem *right = [[UIBarButtonItem alloc] initWithCustomView:tools];

 

      2.  背景圖

 [navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@""] forBarMetrics:UIBarMetricsDefault];

      3.  圖片與文字按鈕(這裡我以自訂左部按鈕為例)

    _leftBtn = [UIButton buttonWithType:UIButtonTypeCustom];
    _leftBtn.frame = CGRectMake(0, 0, 60, 25);
    [_leftBtn setTitle:@"返回" forState:UIControlStateNormal];
    [_leftBtn setImage:[UIImage imageNamed:@"back"] forState:UIControlStateNormal];
    _leftBtn.titleLabel.font = HEADFONT;
    [_leftBtn addTarget:self action:@selector(goback) forControlEvents:UIControlEventTouchUpInside];
    _leftBtn.imageEdgeInsets = UIEdgeInsetsMake(0, -10, 0, 0);
    _leftBtn.titleEdgeInsets = UIEdgeInsetsMake(0, -20, 0, 0);
    UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithCustomView:_leftBtn];    self.navigationItem.leftBarButtonItem = leftButton;

 

參考:http://blog.csdn.net/lengshengren/article/details/16820803

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.