成都创新互联网站制作重庆分公司

有关View的几个基础知识点-IOS开发-创新互联

开发环境如下:

创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的运城网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

有关View的几个基础知识点-IOS开发

首先要弄懂几个基本的概念。

一)三个结构体:CGPoint、CGSize、CGRect

这三个结构体均在一个头文件里:

#include

打开文件如下:

有关View的几个基础知识点-IOS开发

其中 CGRect 的偏移量是相对父窗口的。

二)三个方法:CGPointMake、CGSizeMake、CGRectMake

这三个函数还是在刚刚那个头文件里面:

#include

打开文件如下:

有关View的几个基础知识点-IOS开发

备注:可见

#include

这个文件里有宏定义:

CG_EXTERN

CG_INLINE

追根溯源,可以发现在文件

#include

文件中有宏定义:

有关View的几个基础知识点-IOS开发

有关View的几个基础知识点-IOS开发

可见上述这三个函数是不是内联函数,要看是哪种编译器。通过如下输出可判定是哪知编译器:

有关View的几个基础知识点-IOS开发

三)几个基本界面元素:window(窗口)、视图(view)

要在屏幕上显示内容首先要创建一个窗口(window)承载内容,要创建一个窗口,需要一个边框(frame),含有边框信息的底层 结构就CGRect。每个能够在屏幕上显示自己的对象都有一个边框(frame),定义了他的显示区域,不过许多高层的视图类(UIView)会自动计算这一信息。其他的那些类则在视图初始化时通过一个initWithFrame的初始化方法来设置。

再来认识一个类:UIScreen。UIScreen类代表了屏幕,通过这个类我们可以获取一些想要的东东。

有关View的几个基础知识点-IOS开发

UIView

下面来认识一下UIView类。这个类继承自UIResponder,看这个名字我们就知道它是负责显示的画布。如果说把window比作画框的话,我们就是不断地在画框上移除、更换或者叠加画布,或者在画布上叠加其他画布,大小当然由绘画者来决定了。有了画布,我们就可以在上面任意操作了。

这个类在

#include

里面。

下面我们先学习一些基础的东西。

首先进入其头文件里面,查看其 frame 和 bounds 属性。

有关View的几个基础知识点-IOS开发

这里我们要弄清楚frame和bounds这两个属性的区别:

-(CGRect)frame{

return CGRectMake(self.frame.origin.x, self.frame.origin.y, self.frame.size.width, self.frame.size.height);

}

-(CGRect)bounds{

return CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);

}

可见:

frame: 该view在父view坐标系统中的位置和大小。(参照点是,父亲的坐标系统)

bounds:该view在自身坐标系统中的位置和大小。 (参照点是,自身坐标系统)

创建画布的基本方式如下:

CGRect CGone = CGRectMake(0.0, 0.0, 320, 100); //画个矩形,初始化位置与大小

UIView *v_one = [[UIView alloc] initWithFrame:CGone];//初始化view

我们可以把这块画布加到其他画布上。

[self.window addSubview:v_one];//直接加到画框上

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:有关View的几个基础知识点-IOS开发-创新互联
转载来于:http://cxhlcq.com/article/ddhpsp.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部