当前位置: 首页 > news >正文

网站建设业务终止合作范本网页制作与设计自考

网站建设业务终止合作范本,网页制作与设计自考,新桥做网站公司,做网站之前要备案是什么意思坐标系 首先#xff0c;我们来看一下iOS特有的坐标系#xff0c;在iOS坐标系中以左上角为坐标原点#xff0c;往右为X正方向#xff0c;往下是Y正方向如下图#xff1a; bounds和frame都是属于CGRect类型的结构体#xff0c;系统的定义如下#xff0c;包含一个CGPoint…坐标系 首先我们来看一下iOS特有的坐标系在iOS坐标系中以左上角为坐标原点往右为X正方向往下是Y正方向如下图 bounds和frame都是属于CGRect类型的结构体系统的定义如下包含一个CGPoint起点和一个CGSize尺寸子结构体。 struct CGRect {CGPoint origin;CGSize size; };origin决定了view的起点size决定View的尺寸。 frame frame是每个view必备的属性表示view在父view坐标系统中的位置和大小参照点是父视图的坐标系统。 示例代码: UIView *viewA [[UIView alloc] initWithFrame:CGRectMake(50, 50, 300, 300)]; [viewA setBackgroundColor:[UIColor blueColor]]; [self.view addSubview:viewA]; NSLog(viewA - %,NSStringFromCGRect(viewA.frame));UIView *viewB [[UIView alloc] initWithFrame:CGRectMake(50, 50, 200, 200)]; [viewB setBackgroundColor:[UIColor yellowColor]]; [viewA addSubview:viewB]; NSLog(viewB - %,NSStringFromCGRect(viewB.frame));UIView *viewC [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; [viewC setBackgroundColor:[UIColor redColor]]; [self.view addSubview:viewC]; NSLog(viewC - %,NSStringFromCGRect(viewC.frame));以上可以看出viewB和viewC的起点重合但是从打印结果来看viewB的起点为(50,50)而viewC的起点为(100,100)。原因就是frame中的位置是以父视图的坐标系为标准来确定当前视图的位置viewB的父视图为viewAviewC的父视图为self.view而由于viewA的起点为(50,50)所以viewB与viewC起点才会重合。 bounds UIView *viewA [[UIView alloc] initWithFrame:CGRectMake(50, 50, 300, 300)];[viewA setBackgroundColor:[UIColor blueColor]];[self.view addSubview:viewA];NSLog(viewA - %,NSStringFromCGRect(viewA.bounds));UIView *viewB [[UIView alloc] initWithFrame:CGRectMake(50, 50, 200, 200)];[viewB setBackgroundColor:[UIColor yellowColor]];[viewA addSubview:viewB];NSLog(viewB - %,NSStringFromCGRect(viewB.bounds));UIView *viewC [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];[viewC setBackgroundColor:[UIColor redColor]];[self.view addSubview:viewC];NSLog(viewC - %,NSStringFromCGRect(viewC.bounds));bounds也是每个view都有的属性这个属性我们一般不进行设置表示view在本地坐标系统中的位置和大小。参照点是本地坐标系统。如果我们对上例打印bounds将会得到以下结果 因为我们并没有设置bounds值那么bounds到底有什么作用呢。这里强调每个视图都有自己的坐标系且这个坐标系默认以自身的左上角为坐标原点所有子视图以这个坐标系的原点为基准点。bounds的位置代表的是子视图看待当前视图左上角的位置bounds的大小代表当前视图的大小。原则如下 更改bounds中的位置对于当前视图没有影响相当于更改了当前视图的坐标系对于子视图来说当前视图的左上角已经不再是(0,0) 而是改变后的坐标坐标系改了那么所有子视图的位置也会跟着改变。更改bounds的大小bounds的大小代表当前视图的长和宽修改长宽后中心点继续保持不变 长宽进行改变通过bounds修改长宽看起来就像是以中心点为基准点对长宽两边同时进行缩放 两者的区别 origin的区别 此时如果我们把ViewA的bounds改为(0,100)结果如下 我们始终要清楚bounds的位置代表的是子视图看待当前视图左上角的位置。 bounds遵守的原则一中更改bounds中的位置对于当前视图ViewA没有影响相当于更改了ViewA的坐标系但是子视图ViewB不同对于ViewB来说ViewA的左上角已经不再是(0,0) 而是(0,100)所以对于ViewB来说ViewA坐标系的原点其实是在红色箭头所指处的上方100处而此时ViewB的frame.origin为(200,100)所以ViewB的上边与ViewA上边重合。 如果我们更改ViewA的bounds为(200,0)同理可以自己思考试试结果如下 size的区别 frame的size直接决定了view的大小而bounds的size修改后view的中心点不变长宽以中心点进行缩放 UIView *viewA [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 240)];[viewA setBackgroundColor:[UIColor grayColor]];[self.view addSubview:viewA];UIView *viewB [[UIView alloc] initWithFrame:CGRectMake(100, 50, 160, 120)];[viewB setBackgroundColor:[UIColor blueColor]];[viewA addSubview:viewB];//viewB设置size(320,160)[viewB setBounds:CGRectMake(0, 0, 320, 240)];设置了size之后的结果viewB左上点距离viewA显然不为(100,50)而是进行了基于viewB视图中心点的缩放操作 总结 frame不管对于位置还是大小改变的都是自己本身。frame的位置是以父视图的坐标系为参照从而确定当前视图在父视图中的位置。frame的大小改变时当前视图的左上角位置不会发生改变只是大小发生改变。bounds改变位置时改变的是子视图的位置自身没有影响其实就是改变了本身的坐标系原点默认本身坐标系的原点是左上角。bounds的大小改变时当前视图的中心点不会发生改变当前视图的大小发生改变看起来效果就像缩放一样。
http://www.zqtcl.cn/news/817071/

相关文章:

  • 做网站服务器要用多大怎么在58建设企业的网站
  • 购物网站用户管理景观设计公司资质
  • 县检察院门户网站建设情况门户网站衰落的原因
  • 菏泽网站建设哪好大型企业网络搭建
  • t恤定制网站厦门制作网站企业
  • 上海建站优化建设网站个人简介范文
  • 青岛网站建设公司排名做收集信息的网站
  • 有空间与域名后怎么做网站电影网站建设费用
  • 网站建设销售找客源app制作培训
  • ps制作网站产品图片ps平面设计主要做什么
  • 怎样更新网站泉州网站开发公司
  • 蕲春县住房和城乡建设局网站广东建设局网站首页
  • 网站优化工作室共享经济型网站开发
  • 自己做网站好还是购买网站好网站建设平台报价
  • 设计师配色网站太原建站模板源码
  • 学计算机的做网站的叫什么工作wordpress商用收费不
  • 青岛网站建设谁家好一些网页微信怎么登陆
  • 企业网站seo优做网站的旅行社
  • 十大免费自助建站上传网站到空间
  • 深圳企业做网站简约个人网站
  • 茂名放心营销网站开发网站怎么做app
  • php语言 网站建设专业的外贸网站建设公司价格
  • 看英语做游戏的网站wordpress与微信对接
  • 企业网站打不开了看守所加强自身网站建设工作
  • 长汀网站建设做电池的有哪些网站
  • 做软件常用的网站厦门建设局地址
  • 沭阳三剑客做网站科技 公司 响应式 网站
  • 深圳网站建设培训哪家好曲阜网架公司
  • wordpress建立网站实例贵阳网站开发谁家做的好
  • 百度网站推广怎么收费中国科技成果