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

iOS动画开发之二——UIView动画执行另一种方式

iOS动画开发之二——UIView动画执行另一种方式         上一篇博客中介绍了UIView一些常用动画,通过block块,我们可以很方便简洁创建出动画效果:http://my.oschina.net...这种方式相比如block方式,显得要麻烦一些,apple官方也推荐我们使用带block创建动画方式,我们可以将编程重心更多放在动画逻辑实现上。...二、动画执行参数设置 + (void)setAnimationDelegate:(id)delegate;      设置这个动画代理,用于执行动画开始或者结束动作 + (void)setAnimationWillStartSelector...:(SEL)selector;      设置动画开始时执行回调 + (void)setAnimationDidStopSelector:(SEL)selector; 设置动画结束执行回调 +...];//执行commit,动画即开始执行 一点建议:这种创建UIView动画方式和上一篇博客中block方式效果相同,然而效率并不高,写代码也会繁琐冗长,在开发中,如果没有特殊兼容要求,使用block

48430

IOS开发系列——UIView专题之二:动画篇【整理,部分原创】

•改变透明度:改变视图alpha值。 •改变状态:隐藏或显示状态。 •改变视图层次顺序:视图哪个哪个。 •旋转:即任何应用到视图上仿射变换(transform)。...UIKit直接将动画集成到UIView类中,实现简单动画创建过程。UIView类定义了几个内在支持动画属性声明,当这些属性发生改变时,视图为其变化过程提供内建动画支持。...转:UIView动画更具体讲解;http://wsqwsq000.iteye.com/blog/1189183 2.3创建UIView动画(块)——(指过渡效果动画) 2.3.1一.基本方式:使用...+ (Class)layerClass 返回值 一个用来创建视图layer类 讨论 重写子类来指定一个自定义类用来显示。当在创建视图layer时候调用。默认值是CALayer类对象。...讨论 如果设置为YES那么当动画在运行过程中,当前视图位置将会作为新动画开始状态。如果设置为NO,当前动画结束新动画将使用视图最後状态位置作为开始状态。

1.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

iOS状态栏设置

UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.Default, animated: false); 设置隐藏 动画有三种方式(Slide(滑动)/Fade(淡入淡出...加载时会自动调用preferredStatusBarStyle方法和prefersStatusBarHidden方法 如果要想之后事件里设置前景色或隐藏的话,可以把样式和是否隐藏设置为全局变量,修改变量直接调用...self.setNeedsStatusBarAppearanceUpdate() 但是发现上面的动画配置不生效,按下面的方式调用就可以了 UIView.animateWithDuration(0.3)...另辟蹊径 创建一个UIView 设置该UIViewframe.size 和statusBar大小一样 设置该UIViewframe.origin 为{0,-20} 设置该UIView背景色为你希望...statusBar颜色 在navigationBar上addSubView该UIView即可 UINavigationBar设置 上面说了状态栏 这里顺便把UINavigationBar也说了 我配置

2.6K11

《Motion Design for iOS》(十九)

你可以告诉一个动画去使用线性、淡入、淡入淡出或者淡出时间曲线,或者你可以手动设置曲线控制点,就如你可以在CSS动画中使用三维贝塞尔动画时间函数。...然而,你不能用这种方式定义弹簧动作动画曲线,因为他们形状太高级了。所以你可以怎么做呢?我们可以创建类似这个其他什么动作吗? 这种类型弹簧动画曲线无法通过简单三维贝塞尔曲线来创建。...CAKeyframeAnimation,在到达最终值弹簧动作曲线中每1/60秒都有值。...接着,你要做只是将这个关键帧动画添加到你想要动画CALayer中去,(可以是它自己layer,或者是一个UIViewlayer属性),Core Animation会一步步地执行每个关键帧,每秒60...然后生成所有的动画关键帧值,它本质上在曲线上每次只走非常小一步来定义曲线上每1/60秒值。那就是为物体移动过程中每个位置值。完成这个过程会非常快,因为要在动画开始就全部准备好。

58520

iOS动画开发之一——UIViewAnimation动画使用

iOS开发中,常用动画处理有UIView动画编程和核心动画编程,其中UIView动画使用简便,开发中应用十分广泛。这篇博客,主要讨论UIView动画使用。...)(BOOL finished))completion;        这个函数会带两个block块,用法和第一个函数相似,设置一个执行时间和一个执行动作,第二个block块中可以添加一个动画执行结束动作...,作为补充,例如下面代码效果,在1S内将view渐变为透明,动画结束,view在瞬间变回不透明: [UIView animateWithDuration:1 animations:^{         ...velocity参数用于设置弹簧初始速度。 三、UIView动画可以操作视图属性        通过上面的介绍,我们了解了几个使用动画函数,那么那些属性可以产生动画效果呢?...   UIViewAnimationOptionCurveEaseInOut            = 0 << 16,//淡入淡出 首末减速    UIViewAnimationOptionCurveEaseIn

1.2K30

iOS开发之各种动画各种页面切面效果

*) view 3 { 4 //创建CATransition对象 5 CATransition *animation = [CATransition animation]; 6...timingFunction :动画运动轨迹,用于变化起点和终点之间插值计算,形象点说它决定了动画运行节奏,比如是                  均匀变化(相同时间变化量相同)还是先快慢,先慢快还是先慢再快再慢...    先慢快再慢                        *  kCAMediaTimingFunctionDefault           实际效果是动画中间比较快.     2.用UIView...block回调实现动画代码封装  1 #pragma UIView实现动画 2 - (void) animationWithView : (UIView *)view WithAnimationTransition...= 1, //淡入淡出 3 Push, //推挤 4 Reveal,

1.3K100

《Motion Design for iOS》(三十二)

animations:^{ self.appBackground.alpha = 0.3f; } completion:NULL]; [UIView animateWithDuration...UIViewAnimationOptionBeginFromCurrentState animations:^{ self.mapView.alpha = 1.0f; } completion:NULL]; 你可能注意到了放置在这个基于blockUIView...这实际上是两个选项通过二进制 | 操作组合在一起:UIViewAnimationOptionCurveEaseInOut用来定义动画淡入淡出,UIViewAnimationOptionBeginFromCurrentState...会从其alpha的当前值开始动画,这样即使动画被打断了,它也不会跳回开始动画初始值。...这对像这样被用户动作管理动画非常重要,因为你不知道用户会不会在动画发生不停点击按钮,而且你肯定不想在动画完成都没做任何事。

45010

iOS14开发-触摸与手势识别

-> CGPoint // 该方法记录了一个坐标值,返回值含义与上面一样。 open func previousLocation(in view: UIView?)...事件传递 当 iOS 程序中发生触摸事件,系统会将事件加入到 UIApplication 管理一个任务队列中。 UIApplication 取出最前面的事件传递给 UIWindow。...UIWindow 接收到事件,首先判断自己能否响应触摸事件。如果能,那么 UIWindow 会从往前遍历自己UIView,将事件向下传递。...UIScreenEdgePanGestureRecognizer:屏幕边缘拖动手势识别。 使用步骤 创建手势实例,指定回调方法,当手势开始,改变、或结束时,回调方法被调用。...将手势添加到需要 UIView 上。每个手势只对应一个 UIView,当屏幕触摸在当前 UIView 里时,如果手势和预定一样,回调方法就会调用。

2.2K20

iOS动画-CAAnimation使用详解

) NSString 默认值,动画开始和结束,动画对图层都没有影响,图层依然保持初始值 kCAFillModeForwards NSString 动画结束,图层一直保持动画最终状态 kCAFillModeBackwards...会覆盖values效果; keyTimes ktyTimes与Values中具有一一对应关系,用于指定关键帧在动画时间点,取值范围是[0,1];若没有设置keyTimes,则每个关键帧时间是平分动画总时长...现在设想这样一个需求:修改UIImageViewimage属性,实现淡入淡出平滑动画效果;此时我们需要使用CATransition来对非动画属性做动画,具体关键代码如下: @interface...所以,苹果将CATransition作为设置CALayercontents属性时默认行为,对图层contents图片做改动都会自动附上淡入淡出效果,这也就解释了隐式动画原理; 但注意: 1...#pragma mark - Life Cycle - (void)viewDidLoad { [super viewDidLoad]; //创建显示颜色图层 UIView

2.2K10

iOS 开发从 UIView 动画说起

在我们了解这些强大接口,我们先来看看第一个效果:在用户打开app要进行登录时候,账户和密码输入框从屏幕左边进入,接着登录按钮出现。 ?...动画开始 因此,这个动画之中发生事情,我们可以用概括为下面的代码: self.userName.center.x += offset; //userName进入 self.password.center.x...我们希望密码框能在账户文本框滑动一段时间再出现,按钮同样也需要晚一些显示。...尺寸修改 视图显示类 backgroundColor: 修改这个属性会产生颜色渐变过渡效果,本质上是系统不断修改了tintColor来实现 alpha:修改这个属性会产生淡入淡出效果 hidden...由慢到快 UIViewAnimationOptionCurveEaseOut //由快到慢 UIViewAnimationOptionCurveLinear //匀速我在demo上创建了四个橙色

1.7K70

iOS---iPad开发及iPad特有的特技

1.在控制器中得到设备旋转方向 在 iOS8及以后,屏幕就只有旋转屏幕尺寸之分,不再是过期旋转方向。...// 获取屏幕旋转动画执行时间 CGFloat duration = [coordinator transitionDuration]; [UIView animateWithDuration...:从底部往上钻(默认) UIModalTransitionStyleFlipHorizontal :三维翻转 UIModalTransitionStyleCrossDissolve :淡入淡出 UIModalTransitionStylePartialCurl...案例: 情景① 在导航栏上添加leftBarButtonItem按钮,然后弹出UIPopoverController 创建UIPopoverController控制器内容控制器添加到UIPopoverController...上 1>设置内容控制器(并需先创建内容控制器) 强调UIPopoverController不是继承UIViewController,也就不具备显示功能,要设置内容,使用initWithContentViewController

2.5K70

iOS14开发-UIViewController

介绍 UIViewController 可以理解为 App 界面,负责管理 UIView 中显示内容和用户交互,主要有以下作用: 负责创建和管理 UIView。 响应用户与视图交互。...响应设备方向变化。 有一些特殊视图控制器(导航控制器、标签栏控制器)可以更加方便和规范地管理 UIView创建 storyboard 初始化箭头指向 UIViewController。...UIView,然后让这个 UIView 成为 UIViewController 默认 View。...验证:通过纯代码跳转时发现屏幕黑色且卡顿,设置颜色正常。 loadView方法 用于创建 UIViewController view。...如果一个 UIViewController 设置了backButtonItem属性或设置了backButtonTitle,可以起到更改返回按钮文字和图片目的,但是返回按钮<图标会一直存在,这种方式自带返回和从屏幕边缘滑动返回效果依然有效

2.3K20

【IOS开发基础系列】UIView专题

iOS程序启动完毕创建第一个视图控件就是UIWindow,接着创建控制器view,最后将控制器view添加到UIWindow上,于是控制器view就显示在屏幕上了。...根控制器,接下来再将window显示出来,即看到了运行显示界面。...在该方法中,会创建一个Window,然后创建一个控制器,并把该控制器设置为UIWindow根控制器,接下来再将window显示出来,即看到了运行显示界面。...• 改变透明度:改变视图alpha值。     • 改变状态:隐藏或显示状态。     • 改变视图层次顺序:视图哪个哪个。     ...= YES; imageView1.hidden = NO; [UIView commitAnimations]; 3.5.8 淡入淡出 CATransition *animation = [CATransition

49930

作为iOS开发者一些flutter理解作为iOS开发者一些flutter理解

在flutter中statelesswidget可以表示view、VC等视图,一旦渲染完成则无法修改。 statefulwidget相当于变量,如:var,可以再修改它值。...2,布局方式 首先可以确定是flutter布局方式是自动适配移动设备。类似于autolayoutax+b原理。应该还有其他布局方式,暂时没有了解。...无法动态添加和移除widget,只能使用state中添加一个变量来控制需要展示widget。...3,动画 不同于iOS直接操作对应UIView,flutter是使用一个动画库来包裹widgets。 FadeTransition可以对Widget进行淡入淡出效果动画。...而且根据注释,assets:格式哪怕是空格都不能错。要不然就会出现找不到资源问题 传送门: Flutter-汇总

50010

Unity通用渲染管线(URP)系列(七)——LOD和反射(Adding Details)

采样反射探针来反射环境 支持可选菲涅尔反射 这是有关创建自定义脚本渲染管道系列教程第七部分。...1.1 LOD组 组件 你可以通过创建一个空游戏对象并将LODGroup组件添加到场景中来将LOD组添加到场景中。...为了使这一点更加明显,我在Baked Light 场景中添加了新金属球,这些金属球具有不同颜色和平滑度。 ?...然后,我们根据强度在BRDF镜面和菲涅耳颜色之间进行插值,然后使用对环境反射进行着色结果。 ? ? (菲涅尔反射) 2.5 菲涅尔滑动条 菲涅耳反射会增加沿几何体边缘反射。...沿结构内部球体边缘明亮反射就是一个很好例子。 降低平滑度可消除菲涅耳反射,但也会使整个表面变暗。同样,在某些情况下,例如在水下,菲涅耳近似法不合适。

4.4K31

CALayer 图层概念二、CALayer属性二、方法

UIView负责监听和相应事件.UIView是更高层封装 在 iOS 中,你能看得见,摸得着东西基本上都是UIView.比如一个按钮,一个文本标签,一个文本输入框, 一个图标等.这些都是UIView...,其实UIView之所以能显示在屏幕上,完全是因为它内部一个图层,在创建UIView对象时, UIView内部会自动创建一个图层 (即CALayer对象), 通过UIViewlayer属性即可访问这个图层....当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己图层上,绘图完毕,系统会将图层拷贝到屏幕上,于是就完成了UIView得显示.换句话说,UIView...viewclipToBounds 裁剪多余边缘 设置photoView中所有子控件如果超出了photoView有效范围,那么超出部分将不会显示 photoView.clipsToBounds...- (id)presentationLayer; 模型图层, 就是移动原本图层位置,移动presentationLayer会回到该图层位置 - (id)modelLayer;

1.4K70
领券