尾部有代码地址
6月-08-2016 14-46-22.gif
最近再用酷狗音乐,每次酷狗启动的时候有一个动画效果就是启动图片慢慢放大,然后慢慢消隐!!!
首先分析效果
1.图片放大 必然是 imageview 的frame的withe 变大 height 也变大
然后imageview 的center是在屏幕中心的
2.图片慢慢隐藏,显然是图片的alpha 由1.0 变成0.0
3. 既然是一切是一个动画效果那么必然会是:
UIview animation~~~~~~~~~~~~~ 这个函数
当一切效果结束以后 imageview removeframesubview.
UIWindow * window = [[UIApplication sharedApplication]keyWindow] ;
UIImageView *welcome = [[UIImageView alloc]initWithFrame:window.bounds];
[welcome setImage:[UIImage imageNamed:[self getLaunchImageName]]];
//把背景图放在最上层
[window addSubview:welcome];
[window bringSubviewToFront:welcome];
welcome.alpha = 0.99;//这里alpha的值和下面alpha的值不能设置为相同的,否则动画相当于瞬间执行完,启动页之后动画瞬间消失。这里alpha设为0.99,动画就不会有一闪而过的效果,而是一种类似于静态背景的效果。设为0,动画就相当于是淡入的效果了。
[UIView animateWithDuration:3.0f delay:0.0f options:UIViewAnimationOptionTransitionCrossDissolve animations:^{
CGRect frame = welcome.frame;
frame.size.width = window.size.width*1.3;
frame.size.height = window.size.height*1.3;
welcome.frame = frame;
welcome.center = window.center;
welcome.alpha = 0;
} completion:^(BOOL finished) {
[welcome removeFromSuperview];
}];
接下来问题来了 这段代码写在哪里呢
既然是启动图 当然是在启动的时候
我们一般启动图是在这里加入的
那么代码添加在哪里呢 无迹可寻了
启动图结束以后是进入了APP的首页 并且执行的第一个函数是控制器的
viewwillappear
那么就简单了 把以上代码放大 首页函数的viewwillappear函数
效果就好的
本人在这里有一个疑问 就是 不痛的launchimage 大小是不同的
那么在这段函数中应该怎样选择应该现显示的图片呢 欢迎指教
这次天加了效果图并且 将行以前遗留的问题解决了就是 放大的launchimage
- (NSString *)getLaunchImageName {
CGSize viewSize = [[UIApplication sharedApplication]keyWindow].bounds.size;
// 竖屏
NSString *viewOrientation = @"Portrait";
NSString *launchImageName = nil;
NSArray* imagesDict = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"UILaunchImages"];
for (NSDictionary* dict in imagesDict) {
CGSize imageSize = CGSizeFromString(dict[@"UILaunchImageSize"]);
if (CGSizeEqualToSize(imageSize, viewSize) && [viewOrientation isEqualToString:dict[@"UILaunchImageOrientation"]]) {
launchImageName = dict[@"UILaunchImageName"];
}
}
return launchImageName;
}
//放大的图片调用它就行
[welcome setImage:[UIImage imageNamed:[self getLaunchImageName]]];
更新 由于一些地方描述的不太清楚 所以今天把代码地址更新一下 大家可以指点一二
https://git.oschina.net/GAOZEJIAN/imagestartObject.git
网友评论