大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

iOS动画之CALayer、CoreAnimatioin

CALayer *layer = [[CALayer alloc] init]; } -(CAKeyframeAnimation *)keyAnimation{ CAKeyframeAnimation *keyAnim = [CAKeyframeAnimation animationWithKeyPath:@"position"]; } @end 转场动画 下表列出了常用的转场类型(注意私有API是苹果官方没有公开的动画类型,但是目前通过仍然可以使用): 屏幕快照 2018-08-21 下午5.49.49.png #import "TransitionViewController.h" @interface TransitionViewController () @property (nonatomic,strong)UIImageView *imageView;

position与anchorPoint

position与anchorPoint position与anchorPoint,傻傻分不清。 position是相对父视图而言的 是子视图anchorPoint在父视图的坐标位置。 anchorPoint 是相对于自己而言的 默认为(0.5 0.5)。 anchorPoint的定义不多说,看下图白色的点。主要讲下position与anchorPoint的关系。 anchorPoint.png //默认 UIView *view = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)]; subView.layer.anchorPoint = CGPointMake(0, 0);

iOS CALayer中position和anchorPoint关系正确解读

iOS CALayer中position和anchorPoint关系正确解读 前言 第一:本文揭示了决定CALayer 大小和位置的其实是它的属性bounds和position;CALayer的frame属性,实际上是从bounds和position属性中的值派生的,并且使用频率较低。也即frame的origin是通过position得到的,frame的size是通过bounds的size得到的。第二:anchorPoint和position根本不是一个点。并不是网上说的那样position是layer中的anchorPoint点在superLayer中

iOS图层(CALayer)几何学 锚点—闹钟实现

/** 表盘 */ @property (weak, nonatomic) IBOutlet UIView *orangeView; 效果如何: 设置锚点后效果图 现在要实现的就是如何让钟表跑起来,这里我们用NSTimer来更新钟表。 - (void)viewDidLoad { [super viewDidLoad]; //调整三个指针的锚点 self.hourImage.layer.anchorPoint = CGPointMake(0.5f, 0.9f); self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerTick) userInfo:nil repeats:YES];

做一个类似Cut The Rote 的游戏(三)

physicsWorld.add(joint) 该代码可以获取最后一个藤段,将它放在奖品中心点上面一点(这样就能让奖品像是真的挂起来了)。它还创建另一个连接点,将葡萄藤段和奖品连接起来。 编译并运行项目。如果您都正确设置,您应该看到如下所示: 菠萝挂起来了 好极了!菠萝挂起来了 - 谁把菠萝与树木连接起来?:] 下一篇文章,我们要开始切断葡萄藤咯~~

做一个类似Cut The Rote 的游戏(一)

做一个类似Cut The Rote 的游戏(一) 先放最终效果图: 剪断 更新01/20/2017:由Kevin Colligan更新为iOS 10,Xcode 8和Swift 3。原文由Tammy Coron发表,最近由Nick Lockwood更新。原文链接 Cut The Rope是一种受欢迎的物理驱动游戏,玩家通过剪切挂起糖果的绳索喂养一只名叫Om Nom的怪兽。在正确的时间和地点切断绳索,Om Nom将获得美味佳肴。 在对Om Nom充分尊重的情况下,游戏的真正主角是模拟

iOS 雷达扫描效果

我们在处理 扇形图片 进行旋转的时候, 图片的旋转 是围绕 图片 自身 的中心点 来进行旋转的 而 如果按照上面 做的 扇形图片的 center 按照本身 图片旋转的效果 肯定不是这样 所以 我们是要 如何 做到 让扇形图 以自己的左上角 来进行旋转的呢 ? 7 { let imageName = "radarpoint\(i)_6.png" let image = UIImage.init(named: imageName) if (image !

iOS动画(一):时钟动画(Swift)

defaultRunLoopMode) 添加方法clockRunning: func clockRunning() { let tZone = TimeZone.current var calendar = Calendar.current let currentDate = Date() calendar.timeZone = tZone let currentTime = calendar.dateComponents([Calendar.Component.hour, Calendar.Component.minute, Calendar.Component.second], from: currentDate) // 根据当前秒、分、时数分别计算秒针、分针、时针偏转弧度 let secondAngle = CGFloat ( Double(currentTime.second!

iOS仿微信、支付宝首页下拉菜单选择视图

根据自定义箭头依赖点anchorPoint初始化、自动计算最优菜单显示位置。 anchorPoint:自定义箭头依赖点位置。 titleArray:文字显示数组。 imageArray:icon图标name数组、仅支持本地图片。 menuArray:ZWPullMenuModel图文数组Model。 /** * anchorView:下拉依赖绝对坐标 * 指定坐标下拉 * 箭头指向点 * titleArray:文字 * imageArray:icon * menuArray:图文Model */ + (instancetype)pullMenuAnchorPoint:(CGPoint)anchorPoint;

核心动画 Core Animation(一、Layer基础)

:重新加载图层的内容。 用法:如果实现了委托方法,默认会调用displayLayer:委托方法。否则,display方法会调用drawInContext方法,然后更新图层的“contents”属性。但是一般不主动调用! - (void)setNeedsDisplay;默认的display方法会创建一个视图图形上下文并将其传递给drawInContext:方法,与[UIView drawRect:]方法相似。 代理方法: - (void)displayLayer:(CALayer *)layer;CGColor forKeyPath:@"backgroundColor"];

iOS CALayer总结——图层几何

x:112.500000,y:233.500000 x:63.756313,y:209.756313 anchorPoint 上面说到,position代表了相对于父图层anchorPoint所在的位置,通过改变anchorPoint,图层的frame也会发生改变。要理解anchorPoint很容易,直接上代码就很直观了: 创建两个位置和大小都相同的layer,layer1为参照图层,此时两个图层是重合的, CALayer *layer1 = [[CALayer alloc]init]; CALayer *layer2 = [[CALayer alloc]init];

设置view缩放动画围绕view中的某一点开始

view.frame = oldFrame; } 我的弹出动画效果实现代码如下: - (void)changeScaleAnimationToView:(UIView *)view { view.alpha = 0; CABasicAnimation *animationScale = [CABasicAnimation animationWithKeyPath:@"transform.scale"]; animationScale.repeatCount = 1; CGRect frame = view.frame; view.layer.anchorPoint = CGPointMake(1.0, 0.3); } 关于anchorPoint的详细解释请参考如下链接。参考链接:这将是你最后一次纠结position与anchorPoint!

SCCatWaitingHUD的Objc实现分享

所以我们这个HUD的主要显示对象就是名为backgroundWindow的UIWindow属性对象 那么怎么控制Window的出现和消失呢 UIWindow有几个方法: - (void)makeKeyWindow; return transform; return rotationAnimation; } 你可以看到CAMediaTimingFunction,这就是时间曲线的类,在一般情况下,系统会提供这么几种你常用到的时间曲线 CA_EXTERN NSString * const kCAMediaTimingFunctionLinear __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);

CALayer的基本使用

CALayer的基本使用 图层 UIView之所以能显示到界面上是因为有一个图层。(CALayer) 
 一、CALayer的基本使用 通过CALayer对象, 可以很方便的调整UIView的一些外观属性。 
 设置边框(在IOS6中必须导入Quarz框架, 才能设置颜色、粗细):borderWith\borderColor 设置圆角:cornerRadius = 10;。 
 六、自定义图层(本质就是在图层上绘图) 方式一 继承自CALayer 重写drawInContext:(CGContextRef)ctx;

[分享]iOS开发-UI篇:CAlayer层的属性

[分享]iOS开发-UI篇:CAlayer层的属性 iOS开发UI篇—CAlayer层的属性 一、position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property CGPoint position;5) #import "YYViewController.h" @interface YYViewController () @end @implementation YYViewController -(void)viewDidLoad { [super viewDidLoad]; //创建图层 CALayer *layer=[CALayer layer]; layer.bounds=CGRectMake(0, 0, 100, 100);

图层几何学与几何变换

图层几何学与几何变换 CALayer基础介绍完成后,我们已经能过实现很多的基本的视觉效果了,但是这些效果都还是静态的远远没有动画交互带来的那种体验。动画效果的实现的基本原理就是:对平移、缩放、旋转等几何变化进行组合然后设定一个动画持续时间,然后系统就会帮我们实现这些动画帧。本文将会介绍哪些iOS中动画涉及到的几何学概念和原理。 iOS图形几何学 几何

裁剪图片中的小细节

} self.cropAreaView.bounds = CGRectMake(0, 0, newW, newH);//保证裁剪图片的大小与原比例相符合CGFloat scaleW = self.cutDownImgView.image.size.width / self.cutDownImgView.frame.size.width;CGRect scaleRect = CGRectMake(cropAreaView.frame.origin.x * scaleW, cropAreaView.frame.origin.y * scaleH, cropAreaView.bounds.size.width * scaleW, cropAreaView.bounds.size.height * scaleH); 源码地址,欢迎star https://github.com/Upika/UPCutDownPic

View篇之深入探讨布局属性

View篇之深入探讨布局属性 概念 View的几何性质是通过它的frame、bounds和center属性定义的。frame定义了视图在父视图坐标系统中的源点位置和尺寸大小,通常用于在布局中调整视图的位置和大小。bounds定义了可视视图的内部尺寸大小。center通常用来在不改变视图的大小的前提下调整视图的位置。 关系 1.frame和bounds的size部分两者是紧密联系在一起的,所以改变改变其中任一一个,

CALayer的简单使用

所以UIView自带阴影效果,但为什么看不见呢?是因为他的另外一个属性 shadowOpacity(阴影的不透明度)默认为0,也就是说自带的(0, -3)的偏移量是透明的 /* The opacity of the shadow. Defaults to 0. Specifying a value outside the * [0,1] range will give undefined results. Animatable. */ @property float shadowOpacity; CALayer *layer = [CALayer layer]; layer.backgroundColor = [UIColor redColor].

CoreAnimation(核心动画)概述

//位置(默认指中点,具体由anchorPoint决定) @property CGPoint anchorPoint; // 锚点(x,y的范围都是0-1),决定了position的位置 @property CGColorRef backgroundColor; [UIView commitAnimations];