iOS中UIView的用法(二)

本文详细介绍了如何在 iOS 开发中使用 UIView 类及其方法来创建和管理屏幕上的视图元素,包括视图的位置、大小设置及子视图的管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在ios中向控制器中添加一个控件都是继承自UIView的,反过来说就是,每个控件都是UIView的多态的表现形式.

总结如下:

1:每个UIView代表一个屏幕上得一个矩形区域

2:创建一个UIView

2.1首先UIView是一个类所以在声明的时候要在对应的对象前加一个"*"来表示声明的对象.

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

 开辟内存空间,并初始化该view,并且初始化了该view的(x,y,w,h);

通常我不会去设置一个view的背景上,因为ie没个页面都回有自己的色调,背景色加上也可以的

2.2 将试图添加上控制器

[self.window addSubview:view1]

到了这里,即可完成向控制中添加UIView.这里的addSubView就是把一个UIView类型的对象添加到另外一个view中,可以是父类的也可以是同类的.

2.3 释放对象

如果选中了arc模式为No我们这里就要选择区手动释放对象

[view release]

3:关于UIView的属性

   3.1 最重要的也是最常见的 frame

应为会决定视图的位置和大小.绘制了一张图来具体看一下frame的结构

  总结:------

由上图可见,他们都是结构体类型的,所有在声明的时候不用在对象前加上"*",并且都是相对于父视图的.

在此处调用的时候用法

frame.orgin.x  \  frame.orgin.y

frame.size.width \ frame.size.y

3.2 设置bounds

 /**
     *  设置bounds
     */
    
    CGRect rect = CGRectMake(10, 10, 100, 100);
    
    [view1 setBounds:rect];

同理可设置frame

[view1 setFrame:rect];

bounds是边界,

(

他的不同之处在与 在设置了自己bounds之后会把自己当成一个容器,  用于定义自己的边界和坐标原点.一定不是frame.

当有子视图添加到设有bounds的视图时,会根据bounds制定的原点(0,0)计算frame,而不是左上角.

-------而此时的原点就是本身的左上角为(0,0);

 )!!!!!!!
 

重新定义原点,重新计算

3.3 添加视图的方法如下图

这里的addsubview像控制器中添加控件是最常用的方法,有时会调整控件的前后位置,会用到insertsubview:abovesubview和bringsubviewtofront的功能相同

3.4 管理视图层次的方法 如下图

bringsubviewtofront是最常用的

3.4视图的重要属性

alpha

控制透明度,在以后的动画转场的时候,透明度是一个很重要的效果控制单元.

tag

在开发过程中尽量避免使用tag,应为在使用tag的时候,控制器会先去遍历该控制器的子控件,然后在会查找控件的tag,会使用递归查找,这样会很消耗资源.

  • 欢迎各位一块学习,提高逼格!
  • 也可以添加洲洲哥的微信公众号

    更多消息

    更多信iOS开发信息 请以关注洲洲哥 的微信公众号,不定期有干货推送:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值