您所在的位置:小祥子 » 编程 » IOS » 正文

[ocUI日记]UIwindow和UIview

时间:2015-06-12 编辑:0error 来源:本站整理

在现版本的xcode中 xcode已经为我们创建好了主window和主view,但对于初学者的我们这并不是一件好事。

接下来我就先为大家介绍一下如何自己创建一个window并且设置主view

1.首先将下图中选中的文件删除

2.按照下图中的标号,将第四步中的main删去 就可以了

3.我们进入AppDelegate.m中的

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法 重写

     //第一步创建window并进行初始化
     self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
     //第二步设置此窗口为主窗口并显示出来
     [self.window makeKeyAndVisible];
     //第三步创建一个初始化好了的视图控制器(注意导入头文件)
     ViewController *viewcontroller = [[ViewController alloc]init];
     //第四步设置窗口的跟视图控制器
     self.window.rootViewController = viewcontroller;

做到这里,我们运行模拟器发现还是什么都没有 完全一片黑

这是因为默认的view的背景颜色是clearcolor(clearcolor是与透明有区别的:clearcolor确实存在那里,但是看不见,就如同玻璃一半)

为此我们要给view设置背景颜色  此时模拟器才会有一个可见的界面

接下来就来讲解UIView

     //给主view设置 背景颜色
     self.view.backgroundColor = [UIColor whiteColor];
     
     //创建一个view并进行显示必须要进行以下四个个步骤
     // 1.创建view
     UIView *view1 = [[UIView alloc]init];
     // 2.设置view的frame(用到了CGRectMake方法前面两个数是距离原点的(左上角)水平和垂直距离  后面两个数 是view的长和宽
     view1.frame = CGRectMake(10, 10, 200, 200) ;
     // 3.设置view的背景颜色
     view1.backgroundColor = [UIColor blackColor];
     // 4.添加view
     [self.view addSubview:view1];

上面时view的基础用法,下面为大家介绍其他的一些常用用法

     //设置视图的标签  默认是0
     view1.tag = 1;
     //是否响应交互 (触摸)默认是no
     view1.userInteractionEnabled = NO;
      //将子视图中标签为1的视图赋值给一个其他的视图  原有的视图会发生变化
     UIView *view2 = [self.view viewWithTag:1];
     //从父视图上删除自己
     [view2 removeFromSuperview];
     
     
     
     //添加插入方法
     //在第几层添加一个视图   第一次添加的是第0层 以后每次添加累计加一
     //在view的第0层插入一个子视图
     [self.view insertSubview:view2 atIndex:0];
     //将view1子视图添加到view2子视图下  view2必须是存在于view中的
     [self.view insertSubview:view1 belowSubview:view2];
     //将view1子视图添加到view2子视图下  view2必须是存在于view中的
     [self.view insertSubview:view1 aboveSubview:view2];
     
     //设置透明度0到1之间   会影响子视图
     view1.alpha = 0.2;
     //设置可见性   会影响子视图
     view1.hidden = YES;

这就是今天全部内容,大家有疑问的话可以和我交流并讨论,为会在第一时间答复大家。

关键词:win