在iOS应用的开发过程中,经常会使用,setFrame的方式对UIView进行布局,
经常会使用计算的方式,如self.view.bounds.size.height - 20-44- Heignt等来计算Y的相对位置
我们知道上边的数字 20是status bar的高度,44是navigationBar的高度.
这样的写法没有什么错误,但是不利于代码的复用,比如一个ViewController在创建的时候,有可能有navigationController,也可能没有navigationController,在这种情况下,这个VIewController里边的子UIView的相对位置就可能出现偏差.
所以,本文主要介绍autoresizingMask属性,对UIVIew进行相对的布局。
假设如下的需求:
程序启动后,构建一个自定义的TabBar,始终显示在应用的底部,无论屏幕发生旋转,或者收到来电的情况下,都显示在应用的底部。(看起来,跟现在的很多微博客户端相似,它们多半都没有使用系统的tabbarcontroller方式,而是自己绘制的tabbar).
可以用如下的代码来实现
代码中,autoresizingMask设置为底部和宽度对齐,加上shouldAutorotateToInterfaceOrientation方法返回YES后,程序无论怎样转向,TabBar都会在应用的底部显示了。
同理,如果想让一个UIVIew始终都在屏幕中心,
可以设置它的Y为ceilf((self.view.bounds.size.height - Height)/2),
同时设置autoresizingMask =UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin 即可。
分享到:
相关推荐
定义UIView frame属性的UIView-Positioning,源码UIView-Positioning,UIView+Positioning是一个Objective-C Category,为定义UIView frame属性(宽度、高度和X、Y)提供好了简单便捷的方法。 UIView+Positioning ...
UIView-Positioning, 在UIView对象中,基于简单属性的框架属性设置 uiview定位收费 UIView Positioning 是一个快速扩展,它提供简单的shorthand 方法,以方便的方式定义任何UIView对象的框架属性( 宽度,高度,x,y ...
本文通过实例代码给大家详细介绍了iOS UIView常见属性方法,非常不错,需要的朋友参考下吧
详解 UIView 的 Tint Color 属性.pdf
UIView 动画 UIView动画
iPhone开发学习笔记005——使用XIB自定义一个UIView,然后将这个view添加到controller的view。
ios中关于uiview
uiview源码使用
UIView AutoLayout ,UIView AutoLayout 是 UIView 的分类,实现了自动布局限制的简单接口。 T...
主要介绍了IOS 开发之swift中UIView的扩展使用的实例的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
详细讲解UIView的生命循环周期,对开发者有更好的启发作用,深层次了解程序运行的流程。
功能2:给UIButton设置各属性,包括frame、textLabel.font、textAlignment(此属性因没有提示,不推荐使用)以及四种状态下(nomal,hightlighted,selected,disabled)的image、title、titleColor、backgroudImage...
UIView+Extension 对view的一个扩展
已封装好的实现渐变的UIView,只需传入渐变开始值和结束值就可直接使用。有四种渐变方向可选
1、将UIView 保存为图片,按照给定的scale 2、stackoverflow参照 3、保存的图片为依据scale,亲测
+ (UIView *_Nullable)az_gradientViewWithColors:(NSArray*> *_Nullable)colors locations:(NSArray*> *_Nullable)locations startPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint; - (void)az_...
现在所有CALayer都有属性autoresizingMask类型为UIViewAutoresizing 。 你也可以使用它! 这个怎么运作? 它只是实现了简单的算法: 增加origin和size的self.frame proportionaly至superview小号frame增量通过在...
iOS中UIView的翻页动画demo 有几个是私有的api,小心使用。
使用NIB父类来创建UIVIEW
UIView + AutoLayoutView关于UIView上的一个小型Objective-C类别,它创建了一个UIView对象,该对象可用于编程式AutoLayout。 对于在xibs和Storyboard之外执行许多AutoLayout定义的我们中的那些人而言,此类非常有用...