您的位置:首页 > 移动开发 > IOS开发

iOS 锚点使用说明

2015-09-20 15:46 423 查看
锚点在ios中见到的地方不多,大部分用在动画中。

今天看到一个动画,上面都是关于锚点的,锚点这个概念在两年前看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)];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: