主要内容:

UI期的基础类  UIView
1.视图的位置和大小的确定,需要在视图初始化的时候(initWithFrame)需要传递一个参数,此参数为结构体(CGRect)其实就是一个矩形,该矩形分为两部分,一个用来确定位置(origin.x&origin.y)一个用来确定大小(size.width&size.height).每一个视图的frame都是以该视图父视图的左上角为(0,0)点。


2.背景颜色的设置:每一个视图及其子类都会有一个属性backgroundColor,参数为UIColor类型。
3.将初始化好的视图呈现在父视图上面:[父视图  addSubview:子视图];   addSubview调用越早,层级越是在最底层。

先上代码:

AppDelegate.m



在这里主要进行了UIView的相关创建和处理

//应用程序加载完毕,在此方法中配置窗口和必要的启动界面
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    
    
    
    //一般情况下只会有一个窗口,UIWindow *
    //初始化窗口,[UIScreen mainScreen].bounds]整个屏幕的大小,初始化的时候,将window的大小设置为整个屏幕。
    self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
    //将背景色设置为透明
    [self.window setBackgroundColor:[UIColor grayColor]];
    //将初始化好的window设置为主window并且显示
    [self.window makeKeyAndVisible];
    //Xcode7之后需要此代码
    [self.window setRootViewController:[[UIViewController alloc]init]];
    //初始化一个视图
    //设定视图的位置和大小 CGRect是一个矩形的设定,在iOS体系中原点,即(0,0)点在屏幕的左上方,横轴为x,纵轴为y
    CGRect frame = CGRectMake(50, 50, 100, 100);
    //初始化一个视图,确定一个view
    UIView *myView = [[UIView alloc]initWithFrame:frame];
    //自ios扁平化以后,所有的视图都为透明的了,为了看到视图,我们给他设置背景颜色
    [myView setBackgroundColor:[UIColor redColor]];
    //将初始化好的视图呈现在window上
    [self.window addSubview:myView];
    
    UIView *myView1 = [[UIView alloc]initWithFrame:CGRectMake(200, 50, 100, 100)];
    [myView1 setBackgroundColor:[UIColor purpleColor]];
    [self.window addSubview:myView1];
    
    //初始化一个视图,添加到myview上面
    UIView *subOfMyView = [[UIView alloc]initWithFrame:CGRectMake(30, 30, 40, 40)];
    [subOfMyView setBackgroundColor:[UIColor purpleColor]];
    [myView addSubview:subOfMyView];
    
    //得到myview1的宽度
    float width = [[self window] frame].size.width;
    NSLog(@"%-.2f",width);
    CGFloat evWidth = width/3;
    
    //将三个视图的颜色放入数组中去
    NSArray *color = [NSArray arrayWithObjects:[UIColor redColor],[UIColor yellowColor],[UIColor greenColor], nil];
    for (int i = 1; i <= 3; i++) {
        UIView *tempView = [[UIView alloc]init];
        [tempView setFrame:CGRectMake((i-1)*evWidth, 150, evWidth, evWidth)];
        [tempView setBackgroundColor:[color objectAtIndex:i-1]];
        [self.window addSubview:tempView];
    }
    return YES;
}



在UI学习之前,首先学习Xcode的相关使用,新建文档:

ios uiview设置边距 uiview的绘制过程_ios

选择单视图模式,命名并创建如下:

ios uiview设置边距 uiview的绘制过程_回顾_02


成功后在Xcode中会有如下列表:

ios uiview设置边距 uiview的绘制过程_回顾_03

由于在Xcode6.0以上的版本默认使用storyboard,所以一开始的时候Xcode自动生成了可视化相关文件,但今天的学习不会用到。

UIView主要在appdelegate中编写,刚开始的代码主要完成了,初始化一个window,大小为整个屏幕。然后在其上添加了若干个view视图从而达到UI初步编程的目的。运行效果如下:

ios uiview设置边距 uiview的绘制过程_初始化_04

需要注意的是,先插入的视图在下方,后插入的视图在上方(如果有遮盖的情况下)。

问题:在UI视图下,如何进行内存管理?