ios之UIActivityIndicatorView
UIActivityIndicatorView和UIProgressView都继承自UIView,所以他们可以附属在其他视图上。UIActivityIndicatorView是一个进度提示器,显示一个小圆圈在转动,主要用在一些耗时操作的提示上,比如网络请求;UIProgressView是一个进度提示条,不过它可以显示一个进度,可以告知用户操作已经进行了多少,这二者的目的都是为了在应用程序有耗时操作时在UI上进行显示,提高用户体验。
下面分别来创建这个两个控件:
首先在ViewController.h中声明代码:
- #import <UIKit/UIKit.h>
- @interface ViewController : UIViewController
- @property(retain,nonatomic) UIActivityIndicatorView *activityIndicator;
- @property(retain,nonatomic) UIProgressView *progressView;
- - (IBAction)startIndicator:(id)sender;
- - (IBAction)startProgress:(id)sender;
- - (IBAction)startNetWork:(id)sender;
- @end
然后修改ViewController.m文件,具体的解释都在注释里面
- #import "ViewController.h"
- @interfaceViewController ()
- @end
- @implementation ViewController
- @synthesize activityIndicator = _activityIndicator;
- @synthesize progressView = _progressView;
- - (void)viewDidLoad
- {
- [superviewDidLoad];
- }
- - (IBAction)startIndicator:(id)sender {
- //初始化指示器
- self.activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(140, 200, 30, 30)];
- /*
- 指定指示器的类型
- 一共有三种类型:
- UIActivityIndicatorViewStyleWhiteLarge //大型白色指示器
- UIActivityIndicatorViewStyleWhite //标准尺寸白色指示器
- UIActivityIndicatorViewStyleGray //灰色指示器,用于白色背景
- */
- self.activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhite;
- //停止后是否隐藏(默认为YES)
- self.activityIndicator.hidesWhenStopped = YES;
- //将Indicator添加到视图中
- [self.viewaddSubview:self.activityIndicator];
- //开始转动
- [self.activityIndicator startAnimating];
- //操作队列
- NSOperationQueue *operationQueue = [[NSOperationQueue alloc] init];
- //设置最大的操作数
- [operationQueue setMaxConcurrentOperationCount:1];
- //构建一个操作对象,selector指定的方法是在另外一个线程中运行的
- NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self
- selector:@selector(runIndicator) object:nil];
- //将操作加入队列,此时后台线程开始执行
- [operationQueue addOperation:operation];
- }
- - (IBAction)startProgress:(id)sender {
- self.progressView = [[UIProgressView alloc] initWithFrame:CGRectMake(70, 260, 180, 20)];
- /*
- 设置风格属性
- 有两种风格属性:
- UIProgressViewStyleDefault
- UIProgressViewStyleBar
- */
- self.progressView.progressViewStyle = UIProgressViewStyleDefault;
- //设置进度,值为0——1.0的浮点数
- // self.progressView.progress = .5;
- [self.viewaddSubview:self.progressView];
- //设定计时器,每隔1s调用一次runProgress方法
- [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(runProgress) userInfo:nil repeats:YES];
- }
- //在状态栏显示有网络请求的提示器
- - (IBAction)startNetWork:(id)sender {
- UIApplication *app = [UIApplication sharedApplication];
- if (app.isNetworkActivityIndicatorVisible) {
- app.networkActivityIndicatorVisible = NO;
- }else {
- app.networkActivityIndicatorVisible = YES;
- }
- }
- -(void)runIndicator
- {
- //开启线程并睡眠三秒钟
- [NSThread sleepForTimeInterval:3];
- //停止UIActivityIndicatorView
- [self.activityIndicator stopAnimating];
- }
- //增加progressView的进度
- -(void)runProgress
- {
- self.progressView.progress += .1;
- }
- - (void)viewDidUnload
- {
- [superviewDidUnload];
- // Release any retained subviews of the main view.
- [self.activityIndicator release];
- [self.progressView release];
- }
- @end
编译运行后效果如下:
ios之UIActivityIndicatorView的更多相关文章
- iOS开发-UIActivityIndicatorView简单使用
软件开发的时候经常会遇到半天才加载出来数据的情况,不管是程序写的烂,还是说本来网速比较慢,一般都都会给个提示让用户感觉到我们在努力的加载数据,iOS可以通过UIActivityIndicatorVie ...
- iOS - UI - UIActivityIndicatorView
1.UIActivityIndicatorView HUD 指示器 UIActivityIndicatorView * indicatorView = [[UIActivityIndicatorVie ...
- [New learn] UIKit 框架类
NSObject NSObject is the root class of most Objective-C class hierarchies. NSDataAsset The NSDataAss ...
- iOS UIActivityIndicatorView 的使用
UIActivityIndicatorView 非常简单 ,就是一个转圈圈的控件:http://blog.csdn.net/zhaopenghhhhhh/article/details/1209265 ...
- iOS UIActivityIndicatorView
UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle ...
- IOS开发UI基础UIActivityIndicatorView的属性
UIActivityIndicatorView 1.activityIndicatorViewStyle设置指示器的样式UIActivityIndicatorViewStyleWhiteLarge U ...
- iOS开发——UI篇Swift篇&UIActivityIndicatorView
UIActivityIndicatorView override func viewDidLoad() { super.viewDidLoad() titleLabel.text = titleStr ...
- IOS UIActivityIndicatorView 等待指示器
自己做的一个 等待指示器 #import <UIKit/UIKit.h> @interface RockIndicatorView : UIView { } @property(nonat ...
- 转 UIActivityIndicatorView、UIProgressView 活动与进度指示器-IOS开发
活动指示器(UIActivityIndicatorView)可以告知用户有一个操作正在进行中.进度指示器(UIProgressView )也具有同样功能,而且还可以告知用户离操作结束还多远. 这两个指 ...
随机推荐
- unity 在移动平台中,文件操作路径详解
今天,这篇文章其实是个老生常谈的问题咯,在网上类似的文章也比比皆是,在此我只是做个详细总结方便大家能够更好.更快的掌握,当然,如有不足的地方 欢迎指正!!! 相信大家在开发过程中,难免会保存一些文件在 ...
- [Xcode 实际操作]七、文件与数据-(23)UI Testing系统界面测试功能的使用
目录:[Swift]Xcode实际操作 本文将演示UI Testing系统界面测试功能的使用. 如果项目中尚未引入界面测试功能,请点击项目属性面板->[General]面板左下角的[+]图标 - ...
- [Xcode 实际操作]九、实用进阶-(25)使用Storyboard(故事版)的约束功能,使项目快速适配各种分辨率的设备
目录:[Swift]Xcode实际操作 本文将演示使用故事版的约束功能,使项目快速适配各种分辨率的设备. 在项目导航区打开并编辑主故事版[Main.storyboard]. 在当前故事版中,已经存在一 ...
- JAVA列出某文件夹下的所有文件
import java.io.*; public class ListFiles { private static String s = ""; private static Bu ...
- sql索引的作用
转https://www.cnblogs.com/hyd1213126/p/5828937.html (一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录.微软的SQL SERVER提 ...
- python文件实现增删改查操作
# coding = utf-8 import os import json import re ''' 本程序旨在将练习基础知识部分,包括: 列表,元组,字典,文件,函数,字符串等知识 实现的功能: ...
- 微信支付——基于laravel框架的php实现
现在经手的几乎每个项目都支持微信支付,简单记录下接入的大致流程. 1.首先商户等申请各种账号,微信支付商户号,APPID,API密钥,Appsecret 2.app端上传支付需要的各个字段 3.后台收 ...
- eShopOnContainers 是一个基于微服务的.NET Core示例框架
找到一个好的示例框架很难,但不是不可能.大多数是小型Todo风格的应用程序,通常基于SimpleCRUD.值得庆幸的是,Microsoft已经为eShopOnContainers创建了一个基于微服务的 ...
- Linux 查找bom头文件,清除bom头命令
1.查找bom头文件 grep -r -I -l $'^\xEF\xBB\xBF' ./ 2.替换bom头文件 find . -type f -exec sed -i 's/\xEF\xBB\xBF/ ...
- java isAssignableFrom instanceof 小结 专题
一句话总结: isAssignableFrom()方法是从类继承的角度去判断,instanceof()方法是从实例继承的角度去判断. public native boolean isAssignabl ...