首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS动画-CALayer布局属性详解

六、中心点(position)与锚点(anchorPoint) 1.锚点的概念 position与anchorPoint是两个容易混淆的概念,我们首先从Xcode中找到关于它们的注释说明如下: /* The...坐标由position与anchorPoint来共同决定; 2.锚点的作用 锚点就相当于一个支点,可以形象的理解为一颗固定了图层的图钉,尤其是我们在做旋转动画时,可能会需要设置此属性来决定图层是围绕哪一个点旋转的...;但这时候我们又不得不考虑一个问题:修改锚点可以让我们的动画围绕非中心点旋转,但是这也改变了原有视图的位置frame,这是我们不想要的结果,该如何解决呢?...,我们分别创建橙色视图默认围绕中心旋转,而紫色视图围绕左顶点旋转,关键代码如下: #import "TestLayerFiveVC.h" @interface TestLayerFiveVC () @...(或视图)坐标系下的点或者矩形转换为另一个图层(或视图)坐标系下的点或者矩形;开发过程中我们通常操作的对象都是视图,所以下面以视图为例简单演示其用法:首先创建添加两个宽高都是100*100的橙色、紫色视图在控制器的

2.3K20

【 iOS 应用开发 】 UIKit 控件 ( UIView 属性 | storyboard 设置 | 模拟器 | 拖线关联 | tag | 软键盘操作 | 颜色值 | 代码生成控件 | 动画设置 )

UIKit 相关知识点 1. iOS 应用创建 ( 1 ) 创建应用 创建应用 : 1.进入 Xcode 选择创建应用 : 在 环境首界面 选择 Create a new Xcode project 选项...UIView 简介 : 1.定义 : iOS 手机屏幕上的所有能看到的内容都是 UIView 或 UIView 子类, 如 按钮 UIButton, 文字 UILabel 等都是继承自 UIView...UIView 中定义的, 而其他控件都是 UIView 的子类; ① 独有属性 : 有些属性是控件独有的, 如 UIProgressView 的 progress 属性代表其进度值, UILabel...和 UITextField 的 text 属性 代表其文本内容; ② 共有属性 : 控件有些属性是共有的, 如控件的 位置尺寸 frame 属性, 中心店位置 center 等属性, 这些属性都定义在...的方法 拖线生成传入 Sender 的方法: 1.界面中设置 View 控件 : 拖入一个 UIView 控件到界面中, 并打开尺寸查看器, 将其大小修改为 300 x 300 , 放置在中心位置;

5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    按钮与交互-使用按钮触发操作

    对于您的型号,如果您有不同的材质或颜色,您也可以更改它。 下载按钮和互动 要学习本教程,您需要Xcode 10。您可以下载Final Xcode项目,以帮助您与自己的进度进行比较。...在设置页面中,将显示名称更改为角度AR或所需名称。在资产目录中,将应用程序图标从assets文件夹拖放到选定的插槽中。 主要故事板 我们在屏幕上放置一些按钮。...使用模板,主故事板附带一个ARSCNView,我们无法在其上放置按钮。首先,删除ARSCNView并放置UIView。拥有UIView,允许我们放置这3个按钮并添加约束。...这是按钮的约束: 按钮 约束 左 PlaceScreen 左:46点 / 底部:28点 中 加号按钮 水平中心 / 底部:28点 右 减号按钮 右:46点 / 底部:28点 放置按钮后放回ARSCNView...diffuse.contents = UIImage(named: "art.scnassets/AR-Screen.png") } 结论 在本节中,我们学习了如何在Storyboard中放置按钮并约束它们

    4.6K20

    iOS动画-CALayer基础知识

    六、中心点(position)与锚点(anchorPoint) 1.锚点的概念 position与anchorPoint是两个容易混淆的概念,我们首先从Xcode中找到关于它们的注释说明如下: /* The...坐标由position与anchorPoint来共同决定; 2.锚点的作用 锚点就相当于一个支点,可以形象的理解为一颗固定了图层的图钉,尤其是我们在做旋转动画时,可能会需要设置此属性来决定图层是围绕哪一个点旋转的...;但这时候我们又不得不考虑一个问题:修改锚点可以让我们的动画围绕非中心点旋转,但是这也改变了原有视图的位置frame,这是我们不想要的结果,该如何解决呢?...,我们分别创建橙色视图默认围绕中心旋转,而紫色视图围绕左顶点旋转,关键代码如下: #import "TestLayerFiveVC.h" @interface TestLayerFiveVC () @...(或视图)坐标系下的点或者矩形转换为另一个图层(或视图)坐标系下的点或者矩形;开发过程中我们通常操作的对象都是视图,所以下面以视图为例简单演示其用法:首先创建添加两个宽高都是100*100的橙色、紫色视图在控制器的

    1.9K50

    iOS动画系列之二:带时分秒指针的时钟动画(下)1. 创建CALayer2. 设置时分秒针3. 创建CADisplayLink4. 成稿

    桥接不需要自己额外设置,编译后编译器会自动提示,让Xcode自动帮我们桥接就可以啦。 就像添加子视图一样,别忘了把自己创建的Layer添加到view.layer上面。...锚点是神马吶?打个比方,我们耍双截棍的时候,双截棍其实都是围绕咱们握拳的地方转来转去的,?其实就是双截棍的锚点。 再打个比方,我们在一张A4纸上面钉一个?。...然后旋转A4纸,那颗图钉的位置就是A4纸的锚点。 所以锚点肯定是个坐标点喽~有X、Y组成。锚点的数值范围就是0~1。0表示在最左边或者最上边,1表示在最右边或者最下边。有点模糊是不?...锚点示意图1.png ? 锚点示意图2.png 咱们刚才绘制的秒针实际就是一个宽1,长60的一个View。咱们要让它旋转起来的时候围绕着一个点转,就要把那个点用图钉钉上。...这个图钉的位置就是锚点,就是我们在代码中设置的(0.5,1). 3. 创建CADisplayLink 我们一开始想到的办法就是用定时器,每一秒钟刷新一次秒针。但是使用了定时器之后,有一个问题。

    96410

    UIKit Dynamics:开始入门 —《Graphics & Animation系列一》

    这些属性是隐式解包的optionals(如类型名称后面的!所示)。 这些属性必须是可选的,因为我们没有在init方法中初始化它们。...当方块落下时,它似乎与屏障相互作用,但它实际上碰撞了不动的边界。 构建并运行,如下所示: ? 方块现在从边界反弹,旋转一点,然后继续往屏幕底部前进的地方休息。...运行应用程序,将在Xcode控制台窗口中看到这些日志消息。...在下一步中,将了解如何在物品碰撞时接收通知。...allowsRotation - 如果将此属性设置为NO,则不管发生的旋转力如何,对象都不会旋转。 动态添加行为 在下一步中,将看到如何动态地添加和删除行为。

    1.9K30

    ios-anchorPoint、position理解

    在苹果文档中说明左下是(0,0),右上是(1,1),mac系统是这样,实际上:ios开发中图层左上角是{0, 0},右下角是{1, 1},取值范围不限。...单位坐标的意思是指以视图长宽为单位来计算,坐标系展示如下: 默认一个视图的锚点在(0.5,0.5)的位置,这也是我们使用transform属性时为什么会围绕视图中心点旋转的原因,下面我们将一个默认视图锚点改成...(0,0): UIView *allView1 = [[UIView alloc]initWithFrame:CGRectMake(100, 100, leftW, topH)]; allView1...说起来比较复杂,实际上运行一下项目就知道了 这时候设置橘色视图逆时针旋转90°得到下图(由于此时锚点为左上角的点,所以围绕左上角旋转): 有时候有需求改变锚点但是要求frame不变,在改变锚点之后重新设置一下...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    97310

    简单放置一张图片,实现放大缩小旋转效果1 image和imageView的区别2 创建控件显示到view上的标准步骤3 CGRectOffset函数的含义4 小飞机-监听四个按钮的点击事件(代码)5

    设置大小. addsubview 3 CGRectOffset函数的含义 待补充 4 小飞机-监听四个按钮的点击事件(代码) -(void)addTarget:(nullable id)target action...如果在A方法中需要使用B方法中创建的某个对象或变量,如果拿不到,那么就应该定义一个全局的属性,把B方法中创建完成的对象赋值给全局属性. 6 通过center修改位置 center只能用来修改位置 center...的类型 bounds 默认的原点是 0,0 通过bounds修改大小时中心点不动 小结: center只能修改位置,bounds只能修改大小,frame既能修改位置也能修改大小* 9 transform...进行旋转(旋转) CGAffineTransformMakeRotation(**旋转的弧度**); CGAffineTransformRotate(**在某个transform的基础上-一般为自身**...kind 是这个类型或这个类型的子类. member 只判断这个类型. 11 关于frame和bounds frame 是一个以父视图为坐标系的位置 bounds 是一个以自身为坐标系的位置 如果改变了

    1.1K30

    iOS从Xib中设置样式

    而经过我的测试发现在Xcode6.1和Xcode6.4下这个margin可能表现行为还不一样。 为了避免麻烦,还是不用margin约束比较好,如何在添加约束时不使用margin约束呢?...快速在文件树中切换到当前文件 在Xcode中经常会遇到跳转比较多的情形,有时候若跳转到某个m文件,然后又想在左边的文件目录中切换选中文件为当前打开的文件,可以用Cmd + Shift + J来操作 显示或隐藏...连线 想拖线还得手动点双环按钮分屏? 凹凸啦!没错就是command + option + enter让你一秒分屏!...添加第三方字体 把字体ttf文件像普通文件加入到项目中,在xib或storyboard中就可以直接使用新字体了 属性设置 但是很多属性的设置 在xib中是不能完全自定义的,作为一个喜欢用xib这种方式的码客来说...Xcode 6以上支持一种新的方法,特好用 其实就是为UIView添加扩展 或 继承 添加IBInspectable的属性 既可以图形化设置某些属性 这样在右侧的第四个选项卡中神奇的出现了自定义的设置项

    2.4K20

    View编程指南

    这些view的范围从简单的按钮和文本标签到更复杂的view,如tableview,pickerview和scroll view。...这种动态修改子view的功能使您的view能够适应不断变化的条件,如界面旋转和动画。 您可以将view视为用于构建用户界面的构建块。...center属性中的值同样会更改为匹配frame矩形的新中心点。 当您设置center属性时,frame中的origin值会相应更改。...例如,您可以使用此属性来创建围绕其中心点旋转view的动画。 您不会使用此属性对您的view进行永久更改,例如在其superview的坐标空间内修改其view的位置或大小。...通过在按钮内部嵌入自定义图像view或标签来限制这些方法,如果按钮的实现发生更改,则可能会导致应用程序现在或将来某个时刻的行为不正确。

    2.3K20

    【 iOS 应用开发 】 UIKit 控件 ( 代码生成控件 | UIView 属性方法 | Storyboard | Bundle | Property List | 动画 | 图片内存优化 )

    居中显示 , 之后将生成的 UIView 控件放在该 容器 中 ; 3.添加按钮 : 添加两个按钮 , 两个按钮的功能分别是 生成 UIView 控件 和 清空 UIView 控件 ; -...属性 : 定义控件的位置 和 尺寸 ; 6.transform 属性 : 改变 位置 , 大小 , 旋转角度 属性 ; 有两种使用方式 , 一种是 直接创建指定所有参数 ; 第二种 可以在之前的基础上进行增量修改..., 点击 Create 进行下一步 ; 4.Xcode 设置 : 其 文件 创建在了 代码目录下 , Xcode 中的引用 放在了根目录 , 此时 将其拖动到 代码路径中即可 ; 设置完毕后的情况...文件 , 及 Xcode 中的索引 , 该文件直接删除到 Trash 废纸篓 中 ; 2.Remove Reference : 删除 Xcode 中的 引用 , 但是 文件 还是 在 该项目 下 ,...类 作用 : 获取了 NSBundle 类 , 就相当于获取了 Bundle 目录中的内容 ; 如 下图 的内容 ; 2.获取 NSBundle 对象 : 通过 调用 NSBundle 的 mainBundle

    4K40

    iOS开发系列——纯代码实现iOS开发

    小编有个自己学习交流群681503716(验证编号:大鲨)在iOS学习道路上的小伙伴可以加一下哦~ 直接在Xcode中创建“Empty Application”(注意在Xcode6中这个选项已经没有了,...UIKit中最重要的类UIView。...UIView就是指界面可见的控件元素,所有的控件最终都继承自UIView,UIView中还可以添加其他UIView(通过addSubView方法); 在一个iOS应用中必须有一个主窗口UIWindow(...理论上也可以有多个UIWindow但是只有一个是主Window,而且只有主Window可以和用户交互),UIWindow也是继承自UIView,它拥有UIView的所有属性、方法; 在UIWindow中必须有一个根控制器...,这个控制器距离UIWindow是最近的;设置一个控制器为根控制器和直接通过addSubView添加控制器的视图(view属性)到window并不完全一样(例如如果仅仅添加控制器视图那么应用虽然可以显示但是不支持旋转

    3.6K60

    详解CALayer的anchorPoint和position

    图层旋转时,如何修改锚点 在图层旋转时,锚点就是图层的固定点,旋转是沿着这个定点进行的. 来根据一个钟表的demo进行说明吧....从一个例子开始入手吧,想象一下,把一张A4白纸用图钉订在书桌上,如果订得不是很紧的话,白纸就可以沿顺时针或逆时针方向围绕图钉旋转,这时候图钉就起着支点的作用。...类似地,可以得出在白纸的中心点、左下角和右上角的anchorPoint为(0.5,0.5), (0,1), (1,0)。...如果各自以左上角为原点,则在图中有相对的两个坐标空间。 position 在图1中,anchorPoint有(0.5,0.5)和(0,0)两种情况,分别为矩形的中心点与原点。...图2中是矩形沿不同的anchorPoint点旋转的形态,这就是类似于刚才讲的图钉订在白纸的正中间与左上角时分别造就了两种旋转形态。

    1.1K30

    iOS开发技巧篇

    在iOS开发中,有一些技巧可以提高程序猿的开发效率。 1,Xcode真机调试 Xcode 7推出之前,想要真机调试,iOS开发者必须花$99购买苹果开发者账号,而且步骤繁琐,需要下载证书认证。...第三步,点击左下角的+按钮登陆Apple ID,登陆你的Apple ID,填写相关信息 ?...第四步:打开需要真机测试的项目插上手机(Xcode第一次链接手机会很慢,可以选择Xcode菜单栏中的 window-> devices查看手机是否准备就绪了),选择 项目文件-> General - >...3,code snippet Xcode默认提供了非常丰富的代码片段可供选择,在实际开发中很多的提示就是一个代码片段,具体可以参加 Xcode 的右侧工具栏下方: ?...这样的形式包起来,比如我们经常创建的属性 property,首先在 Xcode 中写上: @property (nonatomic, strong) UIView#> *; 然后选中这行代码

    1.7K90

    Flutter 接入 Apple 账号登录教程

    本文将详细介绍如何在 Flutter 中实现这一功能,包括项目配置、iOS 部分的实现,以及 Flutter 代码的编写。...Sign in with Apple 是一种授权方式,用户点击带有 Apple 标志的按钮,输入 Apple 账号密码或使用生物识别方式(TouchID、FaceID)进行登录。...实现步骤 配置 在 iPhone 或模拟器上运行你的应用,然后打开 Xcode 项目。你可以通过终端输入 open ios/Runner.xcworkspace 打开项目。...添加按钮 关于 Sign in with Apple 按钮 要让用户通过 Sign in with Apple 认证,必须在应用中添加一个合适的按钮。...实现 在 Flutter 中添加 Sign in with Apple 按钮有两种方法: 重新绘制按钮 使用 iOS 视图(推荐) 使用 iOS 视图的步骤: 在你的 Dart 代码中,找到要放置 Sign

    16610

    iOS学习——核心动画之Layer基础

    UIImageView中是UIView的主layer上添加了一个次layer(用来绘制contents),我们设置边框的是主layer,但是次layer在上变,不会有任何的影响,所以当我们调用切割语句的时候...在明白要怎么选择之前,我们先了解一下UIView和layer的不同点: 在iOS中看的见,摸得着的都是UIView,例如一个按钮,UITextField,UILable等等,都是UIView UIView...是根据当前的时间,绕着表盘的中心点进行旋转.   要了解一个非常重要的知识点,无论是旋转,缩放它都是绕着锚点进行的。...要想让时针、分针、称针显示的中间,还要绕着中心点进行旋转,那就要设置它的position和anchorPoint两个属性. ?...x轴中心,y轴最右端,该锚点的位置是时钟图片的正中心 layer.anchorPoint = CGPointMake(0.5, 1); layer.position = CGPointMake

    1.5K61

    【从零开始用Swift开发一个iOS应用(仿微博)】开篇-1. demo上手体验

    需求: 1.显示一个橘黄色矩形 2.矩形上面一个按钮可以点击,并有响应事件 3.界面中心显示一张图片 系统版本: Mac OS 版本:10.15.5 Xcode版本:11.5 一、创建demo项目 1.1...选择创建一个Xcode Project ?...2.3.2 添加一个按钮,并添加按钮点击事件的监听方法 // 2.创建一个按钮 let btn = UIButton(type: .contactAdd) // 2.1 添加到当前视图 v.addSubview...三、上述示例swift与object-c的语法对比 3.1 创建视图类比 - Swift: UIView(XXX:) - OC: [[UIView alloc] initWithXXX:] 类名()...如下图所示,我在注释中添加了MARK、TODO、FIXME标签前缀,这些特殊标记的锚点菜单将会显示在导航栏上,点击菜单即可跳转到对应注释的地方,非常方便。 ?

    4.7K31

    《Motion Design for iOS》(十七)

    让我们先添加一个简单的UIView对象到屏幕上并设置它的圆角。我们要把它添加到我们的主窗口上时因为它是一个快速的例子,但在真实的app界面中你需要添加到管理当前界面的视图控制器中。...这里是和上面一样的功能,但是是Swift而不是Objective-C写的。你可以打开Balls In Swift Xcode工程导出这个例子的Swift版本。...iOS提供了一些内置的技术来创建动画:创建并添加一个CAAnimation到我们之后要讨论的layer中,或者使用简单的基于block的动画方法来动画化UIView的值。...有很多方式来操作一个视图的transform(尺寸、旋转、位置),所以苹果提供了很多函数来改变你感兴趣的值,在我们的例子中,是尺寸。...围绕转变矩阵的数学有一点复杂和困难,但是苹果让它变得亲近,即使你没有线性代数的背景。动画一个视图的转变矩阵是发动动画最有效的方式之一。

    96320
    领券