ios 導覽列(自訂和使用系統方式)

來源:互聯網
上載者:User

標籤:blog   io   color   ar   os   使用   for   div   on   

系統方式:

    //1.設定導覽列背景圖片    [self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];    self.navigationController.navigationBar.shadowImage = [[UIImage alloc]init];        [[self navigationController] setNavigationBarHidden:NO animated:YES];    self.navigationController.navigationBar.backgroundColor = [[UIColor alloc] initWithRed:248/255.0 green:248/255.0 blue:248/255.0 alpha:1.0];        //2.導航面板左邊的取消按鈕    UIButton* cancelButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];    if(cancelButton != nil)    {        [cancelButton setTitle:POST_CANCEL_BUTTON forState: UIControlStateNormal];        [cancelButton setFrame:CGRectMake(0, 0, WIDTH_SCREEN/5.0, 44)];        [cancelButton setTitleColor:[[UIColor alloc] initWithRed:0 green:158/255.0 blue:150/255.0 alpha:1.0]forState:UIControlStateNormal];        cancelButton.titleLabel.font            = [UIFont systemFontOfSize: 16.0];        cancelButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;        [cancelButton addTarget:self action:@selector(cancelButtonEventTouchUpInside)              forControlEvents :UIControlEventTouchUpInside];                UIBarButtonItem *leftItem = [[UIBarButtonItem alloc] initWithCustomView:cancelButton];        if(leftItem != nil)        {            self.navigationItem.leftBarButtonItem = leftItem;        }    }        //3.導航面板右邊的發布按鈕    UIButton* postButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];    if (postButton != nil)    {        [postButton setFrame:CGRectMake(0, 0, WIDTH_SCREEN/5.0, 44)];        [postButton setTitle:@"發布" forState:UIControlStateNormal];        [postButton setTitleColor:[[UIColor alloc] initWithRed:0 green:158/255.0 blue:150/255.0 alpha:1.0]forState:UIControlStateNormal];        postButton.titleLabel.font            = [UIFont systemFontOfSize: 16.0];        postButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight;        [postButton addTarget:self action:@selector(postButtonEventTouchUpInside)            forControlEvents :UIControlEventTouchUpInside];        UIBarButtonItem *rightItem = [[UIBarButtonItem alloc] initWithCustomView:postButton];        if(rightItem != nil)        {            self.navigationItem.rightBarButtonItem = rightItem;        }    }        //4.導航面板中部文字    UILabel* navigationLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 0, 44)];    if (navigationLabel != nil)    {        [navigationLabel setTextColor:[UIColor blackColor]];        navigationLabel.text = POST_NAVIGATION_TITLE;        [navigationLabel setTextAlignment:NSTextAlignmentCenter];        navigationLabel.font = [UIFont systemFontOfSize:18.0];        self.navigationItem.titleView = navigationLabel;    }        //5.導航下面的一條分割線    UIView* line = [[UIView alloc]initWithFrame:CGRectMake(0, 20 + 44,WIDTH_SCREEN, 1)];    if (line != nil)    {        line.backgroundColor = [[UIColor alloc] initWithRed:221/255.0 green:221/255.0 blue:221/255.0 alpha:1.0];        [self.view addSubview:line];    }

自訂:

    //1.建立導覽列視圖    UIView *navView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, WIDTH_SCREEN, 65)];    if (navView != nil)//當導航視圖沒有載入成功的時候推出該方法    {        //1.為導航視圖設定背景        navView.backgroundColor = [UIColor colorWithRed:248 / 255.0 green:248 / 255.0 blue:248 / 255.0 alpha:1];        [[self navigationController] setNavigationBarHidden:YES animated:YES];                //2.導航面板左邊的取消按鈕        UIButton* leftButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];        if (leftButton != nil)        {            leftButton.frame = CGRectMake(15, 20, 65, 44);            [leftButton setTitle:POST_CANCEL_BUTTON forState: UIControlStateNormal];            [leftButton setTitleColor:[[UIColor alloc] initWithRed:0 green:158/255.0 blue:150/255.0 alpha:1.0]forState:UIControlStateNormal];            leftButton.titleLabel.font            = [UIFont systemFontOfSize: 16.0];            leftButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;            [leftButton addTarget:self action:@selector(cancelButtonEventTouchUpInside)                forControlEvents :UIControlEventTouchUpInside];            [navView addSubview:leftButton];        }        //3.導航面板右邊的發布按鈕        UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];        if (rightButton != nil)        {            [rightButton setFrame:CGRectMake(WIDTH_SCREEN - 80, 20, 65, 44)];            [rightButton setTitle:@"發布" forState:UIControlStateNormal];            [rightButton setTitleColor:[[UIColor alloc] initWithRed:0 green:158/255.0 blue:150/255.0 alpha:1.0]forState:UIControlStateNormal];            rightButton.titleLabel.font            = [UIFont systemFontOfSize: 16.0];            rightButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight;            [rightButton addTarget:self action:@selector(postButtonEventTouchUpInside)                 forControlEvents :UIControlEventTouchUpInside];            [navView addSubview:rightButton];        }                //4.導航面板中部文字        UILabel* navTitle = [[UILabel alloc] initWithFrame:CGRectMake(80, 20, WIDTH_SCREEN - 80 - 80, 44)];        if (navTitle != nil)        {            [navTitle setTextColor:[UIColor blackColor]];            navTitle.text = POST_NAVIGATION_TITLE;            [navTitle setTextAlignment:NSTextAlignmentCenter];            navTitle.font = [UIFont systemFontOfSize:18.0];            [navView addSubview:navTitle];        }                //5.在導航視圖底添加分割線        UIView *navDividingLine = [[UIView alloc] init];        if (navDividingLine != nil)        {            navDividingLine.frame = CGRectMake(0, 20 + 44, WIDTH_SCREEN, 1);            navDividingLine.backgroundColor = [UIColor colorWithRed:221 / 255.0 green:221 / 255.0 blue:221 / 255.0 alpha:1];            [navView addSubview:navDividingLine];        }                //6.往view增加導覽列        [self.view addSubview:navView];    }


ios 導覽列(自訂和使用系統方式)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.