iphone坐标系统
1,基本概念
CGPoint{x,y};空间中的位置,通过x和y坐标定义
CGSize{width, height}; 大小,通过宽度和高度定义
CGRect{origin, size};位置和大小,通过x,y坐标和高度,宽度定义
2,位置和大小定义
bounds(origin,size)是UIView自身的坐标
frame(origin,size)是父UIView(superview)的坐标,对于子uiview来说就是相对于父uiview的坐标了
center是UIView中心在父UIView(superview)的坐标
bounds, frame, center相互关联,一个改变,其他的都会跟着自动更新
遵循的规则:使用bounds创建view,使用frame设置UIView的位置和大小
例如:
CGRect viewRect = CGRectMake(0,0,100,100);
UIView* myView = [[UIView alloc] initWithFrame:viewRect];
移动UIView
myView.frame = CGRectMake(100,44,100,100);
myView.center = CGPointMake(150,94);
刷新UIView,使用setNeedsDisplay属性或者调用setNeedsDisplayInRect()方法,代码如下:
view.setNeedsDisplay = YES;
view.setNeedsDisplayInRect(rect);
UIView层次管理上面,使用bringSubviewToFront()方法将一个UIView层显示在最前面,使用sendSubviewToBack()方法将一个uiview层推送到背后
重要提示:当调用addSubview将一个UIView加入另一个UIView时,另一个UIView会自动retain该UIView,也就是将引用计数加一,而在这个uiview调用removefromesuperview从父uiview中删除时,父uiview会自动release一次该uiview,如果在调用addsubview以后么有release,则会产生内存泄露,所以通常在调用addsubview以后紧跟着立即调用release,代码如下:
[self.view addSubview:yourappview];
[yourappview release];
iphone坐标系统的更多相关文章
- iPhone之Quartz 2D系列--图形上下文(2)(Graphics Contexts)
以下几遍关于Quartz 2D博文都是转载自:http://www.cocoachina.com/bbs/u.php?action=topic&uid=38018 iPhone之Quartz ...
- iPhone之Quartz 2D系列--编程指南(1)概览
以下几遍关于Quartz 2D博文都是转载自:http://www.cocoachina.com/bbs/u.php?action=topic&uid=38018 iPhone之Quartz ...
- 《iPhone高级编程—使用Mono Touch和.NET/C#》
第1章 C#开发人员基于MonoTouch进行iPhone开发概述 1 1.1 产品对比 2 1.1.1 .NET Framework 2 1.1.2 Mono 2 1.1.3 MonoTouch 3 ...
- iPhone X 适配
背景 iPhone X 刘海机于9月13日发布,给科技小春晚带来一波高潮.作为开发人员却多出来一份忧虑,iPhone X 怎么适配?我们 App 的脑袋会不会也长一刘海出来?Tabbar 会不会被圆角 ...
- iPhone X 适配 ( iOS 11适配 )
总结: 1.状态栏高度发生变化,解决方案:布局的时候这个高度不要写死,通过方法获取高度. 2.导航栏的视图层级结构发生变化而导致 UI(titleView.UIBarButtonItem) 问题. 3 ...
- cocos2d-x开发记录:二,基本概念(动作,动画,坐标系统)
既然我们选择用cocos2d,那么他里面的一些基本概念我们肯定是要熟悉下的,以下资料来源于官网,英语好的可以直接去官网看. 一.Actions(动作) 动作都由于CCNode对象发出.这些动作通常修改 ...
- iPhone与iPad开发实战读书笔记
iPhone开发一些读书笔记 手机应用分类1.教育工具2.生活工具3.社交应用4.定位工具5.游戏6.报纸和杂志的阅读器7.移动办公应用8.财经工具9.手机购物应用10.风景区相关应用11.旅游相关的 ...
- iPhone X适配方案
iPhone X适配方案 https://github.com/Wscats/iPhone-X 绝对长度单位 英寸 厘米 毫米 磅 pc inch cm mm pt pica 相对长度单位 是网页设计 ...
- iPhone Anywehre虚拟定位提示“后台服务未启动,请重新安装应用后使用”的解决方法
问题描述: iPhone越狱了,之后在Cydia中安装Anywhere虚拟定位,但是打开app提示:后台服务未启动,请重新安装应用后使用. 程序无法正常使用... 解决方法: 打开Cydia-已安装, ...
随机推荐
- selenium2常用API介绍
我们模拟web操作都是基于元素来操作的,我们首先要先确定元素,然后这个元素下对应的方法就可以看WebElement的方法. 1.点击操作 WebElement button=driver.findEl ...
- Windows下新建多级文件夹
使用system函数调用系统命令"md" 注意:字符串变量的话赋值时要使用双斜杠"\\": system("md C:\\newfolder\\&qu ...
- TPS限流
限流是高可用服务需要具备的能力之一 ,粗暴简单的就像我们之前做的并发数控制.好一点的有tps限流,可用令牌桶等算法实现.<亿级流量网站架构核心技术>一书P67限流详解也有讲.dubbo提供 ...
- 如何在官网下载Spring jar包
该链接里面讲的很仔细! http://blog.csdn.net/frankarmstrong/article/details/69808813
- selenium - 常用等待操作
# 4. 等待操作 # 强制等待from time import sleepsleep(10) # 隐性等待# 设置最长等待时间,在这个时间在只要有个时间点加载完成,则执行下一步代码,比sleep智能 ...
- TensorFlow——深入MNIST
程序(有些不甚明白的地方改日修订): # _*_coding:utf-8_*_ import inputdata mnist = inputdata.read_data_sets('MNIST_dat ...
- 《机器学习实战》笔记——AdaBoost
笔记见备注 # _*_ coding:utf-8 _*_ from numpy import * # 简单数据集 def loadSimpData(): datMat = matrix([[1., 2 ...
- [办公软件篇][3]windows软件安装
http://www.jeffjade.com/2015/10/19/2015-10-18-Efficacious-win-software/
- linux 命令 笔记
ftp添加用户步骤: 创建目录 sudo mkdir /home/www 为目录添加用户 sudo useradd -d /home/uftp -s /bin/bash uftp 添加用户权限 sud ...
- 飞行员配对方案问题(匈牙利算法+sort)
洛谷传送门 匈牙利算法+sort 没什么好说的. ——代码 #include <cstdio> #include <cstring> #include <algorith ...