iOS 锚点使用说明
2015-09-20 15:46
423 查看
锚点在ios中见到的地方不多,大部分用在动画中。
今天看到一个动画,上面都是关于锚点的,锚点这个概念在两年前看cocos2d得基本概念时接触过,当时没怎么看,今天看到了,就在好好的学一下。
看了一篇blog,是关于锚点的,就借鉴一些上面的图像:
cocos2d里采用OpenGL ES坐标系,坐标原点在屏幕左下角。而ios采用的是Quartz 2D坐标系,坐标原点在屏幕左上角。
在cocos2d和ios中分别把视图的坐标点设为(10,10),结果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/14/4e966cd228a0e1d58ae33eac43d255b1)
那么什么是锚点呢?下面以一个例子来说明:
比如要创建以下两个视图,蓝色视图左上角在坐标(5,4)处,而橙色视图右边和蓝色视图对齐,有一半的高度处于蓝色视图外面。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/14/d8f6eb589126611a922e9b1f0f82ad71)
就拿上面这个例子分析一下吧:
把俯视图蓝色view的左边点(W,H)作为自身的锚点(1,0.5)【注意:锚点是在自身上找,这个点一一映射的有一个父view的坐标,可以通过这两个值来计算子视图的view.frame.origin】.
好好理解上句话,锚点的坐标范围如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/14/17350bcb28f967ef2e221b53fbf51fba)
这是在Quartz 2D坐标系中得锚点。
下面看一下代码中把父视图的点作为自身锚点的方法。
[objc] view
plaincopyprint?
- (void)setPosition:(CGPoint)point atAnchorPoint:(CGPoint)anchorPoint
{
CGFloat x = point.x - anchorPoint.x * self.width;
CGFloat y = point.y - anchorPoint.y * self.height;
[self setOrigin:CGPointMake(x, y)];
}
今天看到一个动画,上面都是关于锚点的,锚点这个概念在两年前看cocos2d得基本概念时接触过,当时没怎么看,今天看到了,就在好好的学一下。
看了一篇blog,是关于锚点的,就借鉴一些上面的图像:
cocos2d里采用OpenGL ES坐标系,坐标原点在屏幕左下角。而ios采用的是Quartz 2D坐标系,坐标原点在屏幕左上角。
在cocos2d和ios中分别把视图的坐标点设为(10,10),结果如下:
那么什么是锚点呢?下面以一个例子来说明:
比如要创建以下两个视图,蓝色视图左上角在坐标(5,4)处,而橙色视图右边和蓝色视图对齐,有一半的高度处于蓝色视图外面。
就拿上面这个例子分析一下吧:
把俯视图蓝色view的左边点(W,H)作为自身的锚点(1,0.5)【注意:锚点是在自身上找,这个点一一映射的有一个父view的坐标,可以通过这两个值来计算子视图的view.frame.origin】.
好好理解上句话,锚点的坐标范围如下:
这是在Quartz 2D坐标系中得锚点。
下面看一下代码中把父视图的点作为自身锚点的方法。
[objc] view
plaincopyprint?
- (void)setPosition:(CGPoint)point atAnchorPoint:(CGPoint)anchorPoint
{
CGFloat x = point.x - anchorPoint.x * self.width;
CGFloat y = point.y - anchorPoint.y * self.height;
[self setOrigin:CGPointMake(x, y)];
}
相关文章推荐
- iOS代码实践总结
- IOS - NSURLConnection大文件下载
- iOS之旅--首尾式动画初学总结
- iOS中URL问题
- iOS项目开发实战——监听对话框的按钮点击事件
- ios获取当前城市 ,位置,坐标,经纬度
- iOS项目开发实战——CoreLocation地理编码和反地理编码
- wireshark检测iphone-ios是否感染XcodeGhost病毒
- iOS开发 - NSURLSession简单介绍及POST、GET请求案例
- iOS Navigation+TabBar简单框架
- iOS中Bitcode的介绍及配置
- ios9 之后 配置百度地图出现的错误
- iOS开发库
- ios软件开发 设置cell之间的间距
- iOS:转载:IOS谓词--NSPredicate
- 全面了解 iOS 静态库开发
- Bitcode 一种中间代码 Xcode7 && ios9
- iOS开发推送本地通知
- ios自动监测更新
- iOS:文件归档和解归档的详解和使用