美文网首页
UI----影响View Frame的因素

UI----影响View Frame的因素

作者: 维若 | 来源:发表于2019-06-26 19:22 被阅读0次

从iOS7开始
新增属性automaticallyAdjustsScrollViewInsets
新增属性edgesForExtendedLayout
新增属性 --Bar.translucent


automaticallyAdjustsScrollViewInsets : 自动调整scrollview的内边距
true : 考虑 statusbar,navbar的高度,scrollview的y 从 statusbar + navbar底部开始算。哪个存在考虑哪个。
false :同正常的view 从屏幕最顶部开始计算。


edgesForExtendedLayout : View扩展延伸
默认值是UIRectEdgeAll, 意味着view会被拓展到整个屏幕,不考虑任何容器的遮挡。
UIRectEdgeNone: 完全不延伸,考虑所有容器的遮挡。结果:去掉navbar、tabbar,剩余的空间是View的frame
UIRectEdgeTop: 往顶部延伸,其余方向不延伸。那么就会self.view.frame是从navigationBar顶部开始计算一直到Tabbar的顶部;
UIRectEdgeBottom: 往底部延伸,其余方向不延伸。那么就会self.view.frame是从navigationBar下面开始计算一直到屏幕底部;
UIRectEdgeLeft:往左边延伸,其余方向不延伸。
UIRectEdgeRight:往右边延伸,其余方向不延伸。


Bar.translucent bar的半透明属性是否开启 默认是true
true:View的frame 从navbar顶部开始计算 延伸到tabbar的底部
false:View的frame从navbar的底部开始计算 延伸到tabbar的顶部


3.modalPresentationCapturesStatusBarAppearance

iOS7以前不能针对每一个UIViewController单独控制状态栏的显示隐藏,只能在需要的时候调用setStatusBarHidden/setStatusBarStyle修改状态栏显示或者样式,iOS7以后,状态栏是透明的。plist参数多了一个View controller-based status bar appearance。

如果View controller-based status bar appearance 为NO,则表示状态栏不受UIViewController的单独控制,那么这个时候状态栏的控制还和iOS7以前的方式一样,在需要修改的地方执行setStatusBarHidden。

而如果设置为YES,则状态栏会根据各个UIViewController的配置改变,UIViewController中如果需要改变状态栏则需要重载以下两个方法:

  • (UIStatusBarStyle)preferredStatusBarStyle
    {
    return UIStatusBarStyleLightContent;//状态栏样式
    }

  • (BOOL)prefersStatusBarHidden
    {
    return NO;//状态栏是否隐藏
    }

相关文章

  • UI----影响View Frame的因素

    从iOS7开始新增属性automaticallyAdjustsScrollViewInsets新增属性edgesF...

  • 解答

    1、改变view的frame,layer的frame是否会变化?改变layer.frame,view的frame是...

  • frame 和 bounds

    修改 bounds 不会影响 frame 修改 bounds 只会影响子 View 的显示位置,左正右负,上正下负

  • 考试题

    一、 1.frame与bounds的区别: (1) Frame: frame的view是在父视图的view坐标...

  • iOS中View的位置和大小

    frame bounds center frame bounds center是View的属性,定义了View的位...

  • iOS中navigationBar和tabbar的translu

    iOS中navigationBar和Tabbar的translucent对view.frame产生的影响(一) v...

  • 『iOS布局』frame与bounds

    frame与bounds frame定义了一个view相对于父视图坐标系的位置和大小,它会影响center属性和b...

  • 常用的一些宏

    ## #pragma mark -输出frame NSLog(@" view frame = %@", NSStr...

  • iOS纪录

    (1)View的Frame与Bounds区别 摘自 ios view的frame和bounds之区别(位置和大小)...

  • view 圆角+阴影

    UIView*view = [[UIViewalloc]init]; view.frame = CGRectM...

网友评论

      本文标题:UI----影响View Frame的因素

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