UI基本知识

#import "AppDelegate.h"

#import "ViewController.h"

@interface AppDelegate ()

 

@end

 

@implementationAppDelegate

 

 

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {

   //ios 苹果移动设备的操作系统

   //UIKit-> 包含了所有可以看得见得视图控件

    //UIWindow

    // UIView

  //UIWindow:窗口 -> iOS应用程序中 只能有一个主窗口

//    *** 有并且只能有一个主窗口

// UIWindow 是用来显示承载 可以看到的控件的 容器

// UIWindow是容器的原因 ->所有控都是一层层 添加到窗口上的

// UIWindow的初始化:

 //  initWithFrame构造方法->在创建一个对象的时候 同时给他一个Frame

//获取屏幕边境范围:[UIScreen mainScreen].bounds

// UIView: 是一个视图 -> 是所有视图的父类

//  UIWindow 也是一个视图

 

//UIWindow*window

self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];

    ViewController *vc = [[ViewController alloc]init];

    self.window.rootViewController =vc;

// makeKeyAndVisible 让窗口 只有一个主窗口 并且显示在屏幕上

    [self.window makeKeyAndVisible];

    /*

//    1、视图的创建

   UIView *view = [[UIView alloc]init];

    // ****添加到父视图-> 如果没有这个方法 创建的视图将不会被显示在屏幕上

    //   [父视图 addSubview:要添加的视图]

     [self.window addSubview:view];

 

// 视图的位置 自身大小

//  frame - 位置

//  屏幕上是有很多像素点组成的

//   视图的起始位置:origin

//    窗口的起始位置:是左上角(0,0)

//    所有子视图都是根据origin(原点 起始点) 来定义起始位置的

//    size:尺寸 试图本身的大小

// frame:是一个视图的属性

   

//   CGRect frame;

//   frame.origin

//   frame.size

   view.frame =CGRectMake(0, 0, 200, 200);

// 背景颜色

//    UIColor -> 颜色类 -> 创建的对象是一种颜色

   view.backgroundColor =[UIColor blueColor];

   

   UIView *view1 = [[UIView alloc]init];

   [self.window addSubview:view1];

   view1.frame =CGRectMake(200, 500, 200, 200);

   view1.backgroundColor = [UIColor redColor];

    // 设置 视图透明度

// 0.0 (完全透明《所有属性方法 类似被禁用》)-1.0(不透明)

   view.alpha = 0.3;

   view1.alpha = 0.1;

// hidden:隐藏 默认值是0;

//   view.hidden = YES;

   NSLog(@"%d",view.isHidden);

//  图层之间的关系

//  视图 是一层层叠加到一个 父视图上

//  父视图  子视图

//  子视图 是父视图里面的一个元素

//    父视图的位置 发生改变 子视图也会跟随 父视图位置发生改变

   

   self.window.backgroundColor =[UIColor greenColor];

   UIView *view = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 200,200)];

   view.backgroundColor = [UIColor grayColor];

   [self.window addSubview:view];

   

   UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100,100)];

   view1.backgroundColor = [UIColor cyanColor];

   [view addSubview:view1];

// frame: 是根据他的父视图 来定义 这个视图自身位置的(原点)

// 定义frame 不要超出 父类的范围 超出部分将不会被 显示在屏幕上

//   超出部分 将不会接收任何响应事件

   

   

// center 中心点 对角线的交点

//    center.x = /2+原点的x;

//    center.y = /2+原点的y;

   NSLog(@"%f",view.center.x);

// 改变中心点 可以改变视图的位置

   view.center = CGPointMake(150,200);

//    只能使用 frame 在创建视图的时候 给他一个位置

//    相对与自身的位置 原点永远都是(0,0;

// bounds 自身的边境范围

//   view.bounds

//  bounds用途 是获得视图的宽高 忽略原点

   NSLog(@"%f",view.bounds.size.height);

 

//    定时器 隔多少秒去做某件事

//    NSTimer 定时器的类

//    定时器初始化的方法

// Interval:间隔 (时间间隔)单位是秒

// target:让谁执行

//    selector:方法选择器 -> 用来选择一个方法去执行

//   userInfo:

//    repeats:重复次数

//    1 去执行start 重复执行

   [NSTimer scheduledTimerWithTimeInterval:1 target:selfselector:@selector(start) userInfo:nil repeats:YES];*/

    

    UIView *view1  = [[UIViewalloc]initWithFrame:CGRectMake(200,200, 200,500)];

    view1.backgroundColor = [UIColorgreenColor];

    [self.window addSubview:view1];

    UIView *view2 = [[UIViewalloc]initWithFrame:CGRectMake(100,300, 300,300)];

    view2.backgroundColor = [UIColorredColor];

    [self.window addSubview:view2];

    

  // 在同一个父类中

    //1view1 移动到最上面

//   [self.window bringSubviewToFront:view1];

    

   //把一个视图 移动到底下

    //view2移动到最底下

//   [self.window sendSubviewToBack:view2];

  // 交换两个视图的位置

//-(void)exchangeSubviewAtIndex:

    

  //subview(所有子视图组成的数组)数组->

//   self.window.subviews;

//   NSLog(@"%@",self.window.subviews);

    

    //初始化视图的顺序 就是把试图存放到subviews这个数组里面的顺序

    //改变视图的位置 就是在改变subviews 数组里面的元素的位置

//   UIView *view = self.window.subviews[0];

//   NSLog(@"%@",view);

    

  

//   [self.window exchangeSubviewAtIndex:2 withSubviewAtIndex:1];

//   

//插入一个视图 在一个视图的上面

    UIView *inserView = [[UIViewalloc]initWithFrame:CGRectMake(30, 50, 200, 300)];

   inserView.backgroundColor = [UIColor blueColor];

    [self.window addSubview:inserView];

//   [self.window insertSubview:inserView aboveSubview:view1];

//插入inserView 到第三个位置

    

//   [self.window insertSubview:inserView atIndex:3];

//   NSLog(@"%@", self.window.subviews);

    //插入到 某个视图的底部

//   [self.window insertSubview:inserView belowSubview:view1];

    

    

 // tag 标记 标签 标号 -> 同一个父视图里面的身份证号

   inserView.tag = 100;

    //可以通过tag 在他的父视图上 可以找到这个视图

//viewWithTag: 在一个父视图上面 查找有没有 tag值是多少的 视图

   UIView *v = [self.window viewWithTag:100];

 // v 就是inserView

    v.backgroundColor = [UIColor purpleColor];

 //移除视图

    

    [v removeFromSuperview ];

       return YES;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值