首页 技术 正文
技术 2022年11月12日
0 收藏 608 点赞 4,815 浏览 2574 个字

Core Animation演示Core Animation演示Core Animation演示Core Animation演示Core Animation演示Core Animation演示

相关代码展示:

– (IBAction)toggleRoundCorners:(id)sender {

[CATransaction setDisableActions:![_enableAnimations isOn]];

[CATransaction setAnimationDuration:_animationDuration];

[_layer setCornerRadius:([_layer cornerRadius] == 0.0 ? 25.0 : 0.0)];

}

– (IBAction)toggleColor:(id)sender {

[CATransaction setDisableActions:![_enableAnimations isOn]];

[CATransaction setAnimationDuration:_animationDuration];

[_layer setBackgroundColor:([_layer backgroundColor] == [UIColor blueColor].CGColor ? [UIColor greenColor].CGColor : [UIColor blueColor].CGColor)];

}

– (IBAction)toggleBorder:(id)sender {

[CATransaction setDisableActions:![_enableAnimations isOn]];

[CATransaction setAnimationDuration:_animationDuration];

[_layer setBorderWidth:([_layer borderWidth] == 0.0 ? 10 : 0.0)];

}

– (IBAction)toggleOpacity:(id)sender {

[CATransaction setDisableActions:![_enableAnimations isOn]];

[CATransaction setAnimationDuration:_animationDuration];

[_layer setOpacity:([_layer opacity] == 1.0 ? 0.2 : 1.0)];

}

– (IBAction)toggleSize:(id)sender

{

[CATransaction setDisableActions:![_enableAnimations isOn]];

[CATransaction setAnimationDuration:_animationDuration];

CGRect layerBounds = _layer.bounds;

layerBounds.size.width  = (layerBounds.size.width == layerBounds.size.height) ? 250.0 : 200.0;

[_layer setBounds:layerBounds];

BTSAnchorPointLayer *anchorPointLayer = [[_layer sublayers] objectAtIndex:0];

[anchorPointLayer setPosition:BTSCalculateAnchorPointPositionForLayer(_layer)];

}

– (void)beginAnimatingLayer

{

// Here we are creating an explicit animation for the layer’s “transform” property.

// – The duration (in seconds) is controlled by the user.

// – The repeat count is hard coded to go “forever”.

CABasicAnimation *pulseAnimation = [CABasicAnimation animationWithKeyPath:@”transform”];

[pulseAnimation setDuration:_animationDuration];

[pulseAnimation setRepeatCount:MAXFLOAT];

// The built-in ease in/ ease out timing function is used to make the animation look smooth as the layer

// animates between the two scaling transformations.

[pulseAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];

// Scale the layer to half the size

CATransform3D transform = CATransform3DMakeScale(0.50, 0.50, 1.0);

// Tell CA to interpolate to this transformation matrix

[pulseAnimation setToValue:[NSValue valueWithCATransform3D:CATransform3DIdentity]];

[pulseAnimation setToValue:[NSValue valueWithCATransform3D:transform]];

// Tells CA to reverse the animation (e.g. animate back to the layer’s transform)

[pulseAnimation setAutoreverses:_autoreverses];

// Finally… add the explicit animation to the layer… the animation automatically starts.

[_layer addAnimation:pulseAnimation forKey:kBTSPulseAnimation];

}

– (void)endAnimatingLayer

{

[_layer removeAnimationForKey:kBTSPulseAnimation];

}

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,493
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,495
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,133
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,297