UIView

#import "AppDelegate.h"


@interface AppDelegate ()


// 管理一个类私有的属性和方法


@end


@implementation AppDelegate



- (BOOL)application:(UIApplication *)application


    //  系统命名三个方式 didshouldwill

    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    

    // 创建一个window对象,大小和屏幕一样

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

    // Override point for customization after application launch.

    

    // = 左侧最靠近 = . setter 方法,其余是 getter 方法

    // 设置window的背景颜色

    self.window.backgroundColor = [UIColor whiteColor];

    

    // 设置window为主window,并且可见

    [self.window makeKeyAndVisible];

    

    // 内存管理,释放 alloc,引用计数为1

    [_window release];

    

    // UIView

    

    // UIViewiOS中所有控件类的基类

    // 是屏幕上的一块矩形区域

    

    // 学习一个新类:

    // 1. 看头文件,看类的继承关系

    // 2. 找有没有自己的初始化方法

    // 3. 看属性列表

    

    

    /* 3.5 320 * 480

       4   320 * 568

       4.7 375 * 667

       5.5 414 * 736

     */

    

    // 1. 创建一个view,指定view在父视图上的位置和大小

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

    

    // 2. view进行相关的设置

    view.backgroundColor = [UIColor orangeColor];

    

    // 3. 添加到父视图上

    [self.window addSubview:view];

    

    // 4. 内存管理

    [view release];

    

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

    view1.backgroundColor = [UIColor blueColor];

    [self.window addSubview:view1];

    [view1 release];

    

    // frame 一个 view 相对于父视图的位置和大小

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

    

    // center: 一个 view 的中心点相对于父视图的位置

    view.center  = CGPointMake(200, 350);

    

    // bounds: 一个 view 相对于自己的坐标系的位置和大小

    view.bounds = CGRectMake(10, 10, 100, 10);

    

    // alpha是一个0-1的数,代表view的透明度,会影响所有的子视图

    view.alpha = 0.5;

    

    // 视图是否隐藏(BOOL类型,YES隐藏/NO显示)

    view.hidden = NO;

    

    // 标记一个view,方便父视图快速的检索子视图,所有标记默认为0

    view.tag = 10000;

    

    // 父视图通过tag找子视图

//    UIView *seachView = [self.window viewWithTag:10000];

    

    // UILabel

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 100, 100)];

    label.backgroundColor = [UIColor greenColor];

    

    // 显示的文字

    label.text = @"AAABBBCCCDDDEEEFFF";

    

    // 字体颜色

    label.textColor = [UIColor yellowColor];

    

    // 改变字体大小,默认17

    label.font = [UIFont systemFontOfSize:20];

    

    // 文本的对齐方式

    label.textAlignment = NSTextAlignmentCenter;

    

    label.shadowColor = [UIColor grayColor];

    label.shadowOffset = CGSizeMake(3, 3);

    

    // 如果文本过长,文本的断行方式

    // 枚举类型的标志 mode type option style

    label.lineBreakMode = NSLineBreakByTruncatingHead;

    

    // 显示的行数(当设置为0的时候,label会根据自己的frame大小,自己设置行数)

    label.numberOfLines = 0;

    

    // label自己适应内容的大小

    [label sizeToFit];

    

    [self.window addSubview:label];

    [label release];

    

    UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(200, 300, 50, 50)];

    view2.backgroundColor = [UIColor redColor];

    [self.window addSubview:view2];

    [view2 release];

    

    // UIView的层级关系

    // 1. 任何一个view只能有一个父视图,但是可以有很多个子视图(树形结构)

    // 2. 父视图对任何子视图都有所有权关系,添加子视图的时候,会对子视图对象的引用计数+1

    // 3. 父视图和子视图的概念是相对而言的

    // 4. 所有的子视图位置都是以 父视图的坐标系 做标准

    

    // 调整子视图的顺序

    [self.window bringSubviewToFront:view];

    [self.window sendSubviewToBack:view];

    

    // 子视图自己从父视图移除,且该子视图的子视图同时移除

    [view2 removeFromSuperview];

    

    return YES;

}


// 释放 setter 方法的引用计数,之后为0

- (void)dealloc

{

    [_window release];

    [super dealloc];

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值