美文网首页
iOS中锚点的那点事

iOS中锚点的那点事

作者: stoneZ | 来源:发表于2016-09-01 09:09 被阅读0次

相信在初次接触‘锚点’(anchorPoint)这个名词的时候,我们都会有点懵逼吧!记得我第一次接触这个名词,老师是这样解释的:锚点就像船舶的锚,它是用来固定船的位置的,在ios中,锚点的作用也有异曲同工之处,确定子视图位于父视图的准确位置,那现在我们就看看到底什么是锚点,我们又会经常使用锚点来做些什么?

我们知道,ios中,与尺寸和位置相关的几个重要属性有:bounds(确定自身的大小,但不能确定自身在父视图中的位置) 、frame(相对于父视图来说的,可以确定子视图的大小和位置),position(确定子视图在父视图中的位置,是视图layer层面的一个属性),而anchorPoint也是layer层面的一个属性,那我们今天先就两个layer层面的属性联合起来介绍锚点的作用是什么,先画个图看看什么是锚点

这个就是锚点,一个视图上共有9个锚点,及 x方向有0,0.5,1,y方向也有0,0.5,1,三个值,两两匹配就有求中情况了;然后锚点有什么作用了,那当然是定位了,那锚点怎么来定位?

那我们首先使用position来辅助解释:如果设置一个子视图(假设就叫childView)在父视图(假设叫做parentView)中,当设置childView.layer.position = CGPointMake(0,0),效果如下

子视图的中心点在父视图的(0,0)位置,现在我们在此基础上设置childView的anchorPoint:

childView.layer.anchorPoint = CGRectMake(0,0.5)  对照锚点找到(0,0.5)这个点对应哪一个。然后效果如下:

看到了子视图锚点(0,0.5)与父视图的(0,0)点重合,  如果设置childView.layer.anchorPoint = CGPointMake(1,1),猜想一下,是不是子视图的右下角的点与父视图的(0,0)点重合了,那我们看一下效果:

正如我们猜想的,由此总结可以知道,position确定子视图在父视图中的位置,默认是子视图的中心点与指定的position点重合的,但如果你指定子视图的锚点,那么这个锚点会与指定的position点重合,从而精确的定位了子视图在父视图的中的位置。

相关文章

  • iOS中锚点的那点事

    相信在初次接触‘锚点’(anchorPoint)这个名词的时候,我们都会有点懵逼吧!记得我第一次接触这个名词,老师...

  • iOS时间那点事--NSDateFormatter

    文章出处 iOS时间那点事--NSDate iOS时间那点事--NSDateFormatter iOS时间那点事-...

  • iOS开发:设计模式那点事

    iOS开发:设计模式那点事 iOS开发:设计模式那点事

  • google 云锚工具介绍

    使用云锚点创建 Android 和 iOS 用户可以共享的多人或协作型 AR 体验。 云锚点工作原理 借助云锚点,...

  • iOS UIKit动力学(四)吸附(UIAttachmentBe

    iOS UIKit力学(一)基本介绍(目录) 导语 吸附主要发生在:元素与锚点、元素与元素之间。当元素与锚点连接,...

  • iOS-系统原生的地图和定位简单使用

    iOS工程中简单使用原生的地图框架目录:一、使用MKMap控件二、根据地址定位三、在地图上添加锚点四、导航 iOS...

  • iOS / UITextField

    iOS开发-UITextField的那点事 - 简书 iOS10 自动填充手机号实现UITextContentTy...

  • ios地图锚点

    1.话不多说,效果 2.注意点 3.代码展示 4.上面代码详细讲述的锚点的设置等,不懂可以问我。欠妥之处还请指教。

  • iOS--锚点

    https://www.poboke.com/use-the-anchor-point-in-ios-develo...

  • 锚点与位置精简概述

    ARKit开发中铺天盖地都是锚点,现在探究2D中锚点的表现,于是就有了这篇文章。。。 锚点(anchorPoint...

网友评论

      本文标题:iOS中锚点的那点事

      本文链接:https://www.haomeiwen.com/subject/dtscettx.html