iOS自定义UINavigation

来源:互联网 发布:apache 下载windows10 编辑:程序博客网 时间:2024/05/23 16:50
//一、标题
    self.title = @"标题";
    
    //二、左边按键
    UIBarButtonItem *leftItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(study)];
    /*
     * @ 一个导航控制器控制着若干个视图控制器
     *   一个导航控制器包含一个NavigationBar和一个toolBar
     *   NavigationBar中的"按钮"是一个UINavigationItem(only one)
     *   通过设置UINavigationItem的属性,显示Item(UInavigatinBar)
     *   UINavigationItem不是由navigationBar控制,更不由UInavigtaionController来控制
     *   而是由当前的视图控制器控制
     */
   
    self.navigationItem.leftBarButtonItem = leftItem;

    
    //右边按键
    UIButton *item = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [item setTitle:@"自定义" forState:UIControlStateNormal];
    [item setFrame:CGRectMake(0, 0, 60, 35)];
    [item addTarget:self action:@selector(test) forControlEvents:UIControlEventTouchUpInside];
    
    UIBarButtonItem *rightItem = [[UIBarButtonItem alloc] initWithCustomView:item];

    self.navigationItem.rightBarButtonItem = rightItem;


//ToolBar和NavigationBar显示和隐藏

if (self.navigationController.toolbarHidden) {
        // 显示ToolBar和NavigationBar
        [self.navigationController setToolbarHidden:NO animated:YES];
        [self.navigationController setNavigationBarHidden:NO animated:YES];
    }else {

       // 隐藏ToolBar和NavigationBar
        [self.navigationController setToolbarHidden:YES animated:YES];
        [self.navigationController setNavigationBarHidden:YES animated:YES];
    }  

//自定义NavigationController的背景图片

if ([self.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) {
        
        [self.navigationBar setBackgroundImage:[UIImage imageNamed:@"11"] forBarMetrics:UIBarMetricsDefault];
    }



0 0
原创粉丝点击