`初学iOS--UIView及其子类

3 篇文章 0 订阅
1 篇文章 0 订阅

一个iOSApp是由各种各样的UI控件+业务逻辑和算法组成的。

那么,什么是控件呢?

屏幕上所有的UI元素都叫做控件,也有人叫做视图,组件。按钮(UIButton)、文本(UILabel)都是控件

UIView:

-UIView是所有视图(控件)的根类!

-view(视图):代表屏幕上的一个矩形区域,不同的控件代表不同种类的view。

-创建UIView:1. 开辟空间并初始化视图(初始化时,给出视图位置和大小)

                          2. 对视图做一些设置(比如:背景颜色)

                          3. 将视图添加到UIWindow上进行显示

                          4. 释放视图对象

 //iOS中所有能看到的都是UIView或其子类
    //创建一个UIView, 通过CGRect
 UIView *firstView = [[UIView alloc] initWithFrame:CGRectMake(150, 120, 50, 50)];
    firstView.backgroundColor = [UIColor whiteColor];
    
//特殊注意: 一个试图 (view) 一定依赖window才会显示
    [self.window addSubview:firstView];
    [firstView release];
    
UIView的其他属性:

-隐藏视图

-视图的透明度

-subViews属性(返回值为NSArray对象)

-superView属性

-tag值

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
    view.backgroundColor = [UIColor magentaColor];
    [self.window addSubview:view];
    [view release];

//    hidden 属性: 控制视图的显隐  为BOOL类型,默认为NO
    view.hidden = YES;
//  alpha属性:控制视图的透明度(范围:0 ~ 1) 默认为 1
    view.alpha = 0.4;

    UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(100, 250, 50, 50)];
    view1.backgroundColor = [UIColor greenColor];
 // 将view1添加至view
    [view addSubview:view1];

    NSLog(@"%.2f",view1.alpha);
运行结果:1.00(view1 的alpha并没有改变只是透明度变为了view得0.4)

//   subviews属性: 获得当前视图的所有子视图 返回值为NSArray对象
    NSLog(@"

frame与bounds的区别:

- iOS坐标系:左上角为坐标系的原点坐标系不是以像素(px)画分的 而是以点(pt)作为依据

- frame 是相对于父视图而言,frame 决定了视图的大小和位置  包括两个结构体:    origin(x,y) size (width,height)

bounds是相对于自己本身的
       
以自己为容器,默认情况下:cgrect(0,0,frame.size.width,frame.size.height)
        bounds
的本质作用:更改当前视图自身的坐标系(坐标原点位置)
        bounds.x 
如果为正数,向外移动x
        bounds.y 
同理
        bounds
frame的区别和联系:bounds相对于自身,frame相对于父视图
                           
联系:通常boundssizeframesize一样
     bonds
黄金法则:bounds永远不改变自身的显示效果,改变的是子视图的显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值