UIViewController跳转

一、UINavigationController & UITabBarController

1、pushViewController

其是UINavigationController的一个方法,UINavigationController是导航栏控制器, navigation是一个栈,通过pushViewController,popViewController进行UIViewController间的视图切换,push之后会导航栏中自动增加back按钮,点击按钮响应的动作为返回,一般不需要写返回方法。

2、presentViewController

其是UIViewController的一个方法,对应的消失方法是dismissViewController

二、UIViewController

导航栏push一个viewController的view相关设置

1、extendedlayout

设置view的top是否扩展包括navigationcontroller的部分 

typedefNS_OPTIONS(NSUInteger, UIRectEdge) {

UIRectEdgeNone=0,

UIRectEdgeTop=1<<0,

UIRectEdgeLeft=1<<1,

UIRectEdgeBottom =1<<2,

UIRectEdgeRight=1<<3,

UIRectEdgeAll=UIRectEdgeTop|UIRectEdgeLeft|UIRectEdgeBottom|UIRectEdgeRight

}

2、automaticallyAdjustsScrollViewInsets

这个属性用于设置当view是scrollview和tableview情况,通常情况下希望scrollview或tableview显示navigationbar的下方

若通过设置edgesForExtendedLayout = UIRectEdgeNone或者self.navigationController.navigationBar.translucent = no,可以让view的布局从uinavigationbar的下方开始,不过会有当view滑动时,其无法占据全屏

因此可以设置 self.automaticallyAdjustsScrollViewInsets = yes 达到此需求

3、extendedLayoutIncludesOpaqueBars

如果状态栏是不透明的,那么页面的布局默认是不会包含状态栏的,除非将这个属性设置成为YES。所以如果你的页面扩展到Navigation Bar (edgesForExtendedLayout=UIRectEdgeAll),要是这个属性设置成NO (default), 如果状态栏是不透明的话,页面是不会扩展到状态栏的



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:UIViewController模态跳转 复制代码 //展示模态视图 - (void)presentViewC...
    Areslee阅读 4,925评论 0 0
  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 7,301评论 1 14
  • /* UIViewController is a generic controller base class th...
    DanDanC阅读 5,855评论 0 2
  • 明确一下以前一知半解的属性吧,文中所有的代码都默认写在UIViewController中,所以self特指控制器。...
    thinkq阅读 8,122评论 2 10
  • 2016年,一如过去的每一段独一无二的时光,在不断的重复中开始和结束,总想记录点成长,缅怀些过往,却总是言不达意...
    陌上花开待春归阅读 1,943评论 1 0