美文网首页
UINavigationController,UINavigat

UINavigationController,UINavigat

作者: lixiaoshuai | 来源:发表于2017-06-25 23:48 被阅读27次

    项目中出现率很高的几个角色,简单说一下相互关系
    1.本质
    UIViewController : 基本上一个控制器对应着一个具体的页面
    UINavigationController : 继承于UIViewController ,是管理一系列控制器的容器。有一个UINavigationBar的属性
    UINavigationBar:继承与UIView,是每一个控制器上方的视图,可以做一定的定制,由UINavigationController管理
    UINavigationItem : 继承于NSObject,给UINavigationBar视图提供内容,由UIViewcontroller管理

    2.关系图

    四者关系图.png

    3.一些简单应用
    a:更改导航栏的文字和背景颜色

    //set NavigationBar 背景颜色&title 颜色  
    [self.navigationController.navigationBar setBarTintColor:[UIColor colorWithRed:20/255.0 green:155/255.0 blue:213/255.0 alpha:1.0]];  
    [self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],UITextAttributeTextColor,nil]];
    

    b:添加多个按钮item

    UIBarButtonItem *shareItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action: nil nil];  
    UIBarButtonItem *cameraItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action: nil nil];  
    NSArray *itemsArr = @[shareItem,cameraItem];  
    self.navigationItem.rightBarButtonItems = itemsArr;  
    

    c:自定义后退按钮的文字和颜色

    UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:nil action:nil];  
    self.navigationItem.backBarButtonItem = item;  
    

    d:自定义返回item

    //自定义返回按钮  
    UIImage *backButtonImage = [[UIImage imageNamed:@"fanhui.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 30, 0, 0)];  
    [[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];  
    //将返回按钮的文字position设置不在屏幕上显示  
    [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(NSIntegerMin, NSIntegerMin) forBarMetrics:UIBarMetricsDefault]; 
    

    相关文章

      网友评论

          本文标题:UINavigationController,UINavigat

          本文链接:https://www.haomeiwen.com/subject/ujtdcxtx.html