ios 自定义加载动画效果
在开发过程中,可能会遇到各种不同的场景需要等待加载成功后才能显示数据。以下是自定义的一个动画加载view效果。

在UIViewController的中加载等到效果,如下
- (void)viewDidLoad {
[super viewDidLoad];
//将view背景颜色变更为黄色
self.view.backgroundColor = [UIColor yellowColor];
//在self.view上加载提示框
[[BIDActivityNote sharedInstance] AddActivityView:self.view];
//延时3分钟后移除提示框
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)( * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[[BIDActivityNote sharedInstance] RemoveActivityView];
});
}
BIDActivityNote.h 实现代码
//
// BIDActivityNote.h
// MobileShop
//
// Created by eJiupi on 15-7-23.
// Copyright (c) 2014年 xujinzhong. All rights reserved.
// #import <Foundation/Foundation.h> @interface BIDActivityNote : NSObject + (BIDActivityNote*)sharedInstance; - (void)AddActivityView:(UIView*)subView; - (void)RemoveActivityView; @end
BIDActivityNote.m 代码实现效果:
//
// BIDActivityNote.m
// MobileShop
//
// Created by eJiupi on 15-7-23.
// Copyright (c) 2014年 xujinzhong. All rights reserved.
// #import "BIDActivityNote.h" @interface BIDActivityNote () @property (strong, nonatomic) UIView *subView;
@property (strong, nonatomic) UIActivityIndicatorView *act; @end @implementation BIDActivityNote + (BIDActivityNote*)sharedInstance
{
static BIDActivityNote* instance = nil;
if (instance == nil)
{
instance = [[BIDActivityNote alloc] init];
}
return instance;
} - (id)init
{
self = [super init];
if (self)
{
NSInteger w = [UIScreen mainScreen].bounds.size.width;
NSInteger h = [UIScreen mainScreen].bounds.size.height;
self.subView = [[UIView alloc] initWithFrame:CGRectMake(, , w, h)];
self.subView.backgroundColor = [UIColor colorWithRed: green: blue: alpha:0.5]; self.act = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
//只能设置中心,不能设置大小
self.act.center = CGPointMake(w/.f, h/.f);
//设置活动指示器的颜色
self.act.color=[UIColor whiteColor]; [self.act startAnimating]; // 开始旋转
[self.act stopAnimating]; // 结束旋转
//[self.act setHidesWhenStopped:YES]; //当旋转结束时隐藏 [self.subView addSubview:self.act];
}
return self;
} - (void)AddActivityView:(UIView*)subView
{
//启动
[self.act startAnimating];
[subView addSubview:self.subView]; //实现动画效果
self.subView.transform = CGAffineTransformScale(self.subView.transform, , );
[UIView animateWithDuration: animations:^{
self.subView.transform = CGAffineTransformIdentity;
}];
} - (void)RemoveActivityView
{
[UIView animateWithDuration:0.7 animations:^{
self.subView.transform = CGAffineTransformScale(self.subView.transform, , );
} completion:^(BOOL bfinished){
if (bfinished) {
//停止
[self.act stopAnimating];
[self.subView removeFromSuperview];
}
}];
} @end
ios 自定义加载动画效果的更多相关文章
- iOS - 落叶加载动画效果
代码下载地址:https://github.com/nLoser/LeafLoadingView 效果: 说明:效果是在网上看到的,并且自己按照效果自己实现,树叶使用CAEmitterLayer做的, ...
- html自定义加载动画
整体代码 HTML 实现自定义加载动画,话不多说如下代码所示: <!DOCTYPE html> <html lang="en"> <head> ...
- CSS3实现的图片加载动画效果
来源:GBin1.com 使用CSS3实现的不同图片加载动画效果,支持响应式,非常适合针对瀑布流布局图片动态加载特效进行增强! HTML <ul class="grid effect- ...
- 加载动画效果 HTML+ CSS
加载动画效果 写在前面 在无限的时间的河流里,人生仅仅是微小又微小的波浪.--郭小川 实现效果 实现原理 通过2个伪元素来设置3条颜色边框 通过定位将3个圆弧边框层叠再一起,再通过旋转实现一个圆的效果 ...
- iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码
iOS精选源码 如丝般顺滑的微信朋友圈(点赞,评论,图文混排表情,... 动态菜单第三版本:动态项,自适应方向 仿appstore首页滚动效果 iOS 透明导航栏方案 TransparentNavig ...
- 【动画消消乐】HTML+CSS 自定义加载动画:清新折叠方块效果 063(附源码及原理详解)
前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 自我介绍ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专 ...
- iOS 实现加载转圈效果
1.思路: 新建一个view,添加shape,给予一个动画实现. 2.效果图: 效果1: 效果2: gif有点卡,代码运行不会这样. 3.源码(整个类放进来的) 效果1源码: // // YJDown ...
- CSS动画实例:Loading加载动画效果(一)
一些网站或者APP在加载新东西的时候,往往会给出一个好看有趣的Loading图,大部分的Loading样式都可以使用CSS3制作出来,它不仅比直接使用gif图简单方便,还能节省加载时间和空间.下面介绍 ...
- CSS动画实例:Loading加载动画效果(三)
3.小圆型Loading 这类Loading动画的基本思想是:在呈现容器中定义1个或多个子层,再对每个子层进行样式定义,使得其均显示为一个实心圆形,最后编写关键帧动画控制,使得各个实心圆或者大小发生改 ...
随机推荐
- bzoj 5092 分割序列 —— 高维前缀和
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5092 首先,处理出异或前缀和 s[i],i 位置的答案就是 s[j] + s[j]^s[i] ...
- vs未能正确加载XX包的解决方法
管理员 -- cmd ---(进入到vs的安装目录下.如我的是:C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE)---d ...
- python学习笔记——Thread常用方法
Thread对象中的一些方法: 以前说过多线程,用到threading模块中的Thread对象,其中的start和run方法比较熟悉了,start()是重载了Thread对象中的run方法,其实作用还 ...
- Java int与String互相转化大全
int -> String //int 转化才 string int num = 123456; //方法一 会产生两个String对象 String s1 = num+"" ...
- 2.9-2.10 hive中常见查询
一.查询语句 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Select 1.select语法 SELECT [ALL ...
- JAVA实现DIJKSTRA算法
import java.util.Queue; import java.util.LinkedList; public class dijkstra{ public static void main( ...
- swift4.0 方法监听Selector写法总结
import UIKit class MainViewController: UITabBarController { //MARK:属性 懒加载 lazy var composeBtn = UIBu ...
- IntelliJ IDEA的自动提示貌似是区分大小写的,首字母小写的话,怎么都提示不出来。
IntelliJ IDEA的自动提示貌似是区分大小写的,首字母小写的话,怎么都提示不出来. File>Settings>editor >general >code comple ...
- ZOJ3164【背包问题(好题)】
%%%%%%%%%%%%%%%岐爷 这一发从来没写过这么旺盛的背包问题... 想法很多,但是好难执行. 题意: 有N种饼干,1-N 每种最多想买Ki个,ki等于0的话没有上界 对于第i种饼干的权值是E ...
- vmware vSAN 入门
参考:https://docs.vmware.com/cn/VMware-vSphere/6.5/com.vmware.vsphere.virtualsan.doc/GUID-18F531E9-FF0 ...