UIView

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIView相关的知识,希望对你有一定的参考价值。

创建一个工程之后改成MRC分4步
1、创建完空模板之后,修改环境为MRC
2、将AppDelegate.h文件中的strong改为retain
3、在AppDelegate.m文件中重写dealloc方法将实例变量_window释放一次
4、在创建的window对象的最后加autorelease,完成内存管理
 
UIView的基本属性:
 技术分享
 
添加视图:
技术分享
移动视图的位置:
技术分享
 
随机色: [UIColor colorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1.0]
视图如果不给定背景色,默认是透明
 
与屏幕等大:
View *view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
与window等大:
View *view = [[UIView alloc] initWithFrame:[self.window bounds]];
 
frame、bounds、center之间的区别
frame:一个视图默认其左上角点就是这个视图的坐标系原点,并且每一个视图都有自己的坐标系,一个视图布局时,frame中的X,Y是相对于父视图坐标系原点的距离
center:一个视图的中心点与视图的frame是息息相关的,center与frame都是相对于父视图来说的,视图中心点center.x为视图本身frame中的x值加上视图本身宽的一半
1framecenter是相对于父视图而言的,改变视图本身是framecenter会直接影响自身在其父视图上的显示位置
2bounds是相对于自身而言的,改变bounds的值会影响自身坐标系原点的位置,进而影响子视图在其上的显示位置
3、一个视图bounds的默认值为(0,0,,),因为bounds前面的两个值xy代表的含义是视图本身左上角点距离其自身坐标系原点的距离,因为视图本身坐标系与左上角重合,所以是0
4、改变一个视图的bounds中的xy值,不会造成自身位置的变化,因为父视图的bounds没有改变,自身的frame以及center没有任何变化,所以与父视图的关系没有任何变化,所以不会动。
5、改变一个视图的bounds中的宽和高,他是延中心放大或者缩小
  
应用程序启动流程
1、也是从main函数入口,找到应用程序代理
2、应用程序delegate的类名是任何接受了UIApplicationDelegate的类
3、应用代理的作用,根据应用程序传递过来的状态做出相应的处理
4、一旦应用程序的某种状态触发,就会执行相应的代理方法
技术分享

以上是关于UIView的主要内容,如果未能解决你的问题,请参考以下文章

在 IBAction 方法返回后显示 UIView

如何在一定程度范围内为UIView的旋转设置动画?

隐藏一个 UIView 并显示另一个

带有切出段和阴影的 UIView

iOS - UIView 动画的限制?

为啥 view2 没有出现在这段代码中? (将 UIView 2 合并到 UIView 1 中)