本文的三种控件,用的也非常多,而我也是经常图懒,而去打开原来的项目去拷贝,现在记录一下,就不用去项目中去找这些控件的用法了。

一、UIActivityIndicatorView 的使用

UIActivityIndicatorView 俗称“风火轮”,也有人称之为菊花,安装黑苹果系统时,远景论坛上都称之为菊花。 它主要是用来告诉用户当前正在加载数据,让用户等待一下。长这个样子的:

它的常用属性和方法也比较少:

  1. // 设置风格
  2. @property(nonatomic) UIActivityIndicatorViewStyle
  3. activityIndicatorViewStyle;
  4. // 停止时,隐藏视图,默认为YES
  5. @property(nonatomic) BOOL hidesWhenStopped;
  6. // 修改颜色,注意版本问题
  7. @property (readwrite, nonatomic, retain) UIColor *color
  8. // 开始动画
  9. - (void)startAnimating;
  10. // 停止动画
  11. - (void)stopAnimating;
  12. // 判断动画的状态(停止或开始)
  13. - (BOOL)isAnimating;

使用UIActivityIndicatorView  的示例代码如下:

  1. UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
  2. activityView.center = CGPointMake(160, 200);
  3. [activityView startAnimating];
  4. activityView.hidesWhenStopped = NO;
  5. [self.window addSubview:activityView];
  6. [activityView release];
  7.  
  8. [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(test:) userInfo:activityView repeats:NO];
  9.  
  10. //状态栏也显示风火轮
  11. [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];

把定时器的方法也记录一下吧,设置的是3秒之后隐藏“风火轮”。

  1. - (void)test:(NSTimer *)timer
  2. {
  3. [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
  4.  
  5. UIActivityIndicatorView *activityView = [timer userInfo];
  6. [activityView stopAnimating];

注意:苹果自带的“风火轮”效果有时候不能满足我们的需要,我们可以用第三方的框架 MBProgressHUD,它有多种效果,可以附带图片,或者附带文字,还可以改装成安卓里的toast。至于MBProgressHUD的使用,我就不介绍了,给个传送门:MBProgressHUD的使用,这是别人写的。里面还有github的下载地址。

推荐一个demo网站:code4app,里面也有MBProgressHUD的使用demo----》demo资料

二、UIAlertView的使用

UIAlertView 是用来提示用户,供用户选择的,我印象里,它是会阻塞线程的。而且窗口的级别非常高。
直接上代码好了:
  1. //UIAlertView 初始化
  2. UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"标题" message:@"提示文本信息" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
  3. [alertView show];
  4. [alertView release];

上面的delegate参数设置时,需要实现UIAlertViewDelegate中的方法:

  1. #pragma mark - AlertView Delegate
  2. - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
  3. {
  4. NSLog(@"buttonIndex : %d", buttonIndex);
  5. }

我们可以根据buttonIndex来区分用户点击的是哪一按钮,来执行不同的操作。



三、UIActionSheet的使用
这里需要注意的是,actionSheet showInView这个方法,将其添加的位置不对,会造成有时候点击没有反应的情况。
  1. UIActionSheet *actionSheet = [[[UIActionSheet alloc] initWithTitle:@"title" delegate:self cancelButtonTitle:@"cancel" destructiveButtonTitle:@"destructive" otherButtonTitles:@"other1", @"other2", @"other3", @"other3", nil] autorelease];
  2. [actionSheet showInView:self.window];// 这里我经常这样写:[actionSheet showInView:[UIApplication shareApplication].keyWindow];
  3. [actionSheet release];

同理如果你需要根据不同按钮触发不能的操作的话,也是要实现其delegate方法。

  1. #pragma mark - ActionSheet Delegate
  2. - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
  3. {
  4. NSLog(@"clickedButtonAtIndex : %d", buttonIndex);
  5. }

我们可以根据buttonIndex来区分用户点击的是哪一按钮,来执行不同的操作。


iOS开发之八:UISlider、UISegmentedControl、UIPageControl的使用的更多相关文章

  1. iOS开发-图片查看(ScrollView+UIPageControl)

    上周没事写了一个简单的图片查看,上次的查看只用到了一个UIImageView,不断的替换背景图片,实现图片之间的切换.通过ScrollView可以很简单的是实现图片之间的查看,设置setPagingE ...

  2. iOS开发技巧 - 使用UISegmentedControl来对信息进行分组

    (Swift) import UIKit class ViewController: UIViewController { var segmentedControl:UISegmentedContro ...

  3. iOS开发之七:常用控件--UISlider、UISegmentedControl、UIPageControl的使用

    一.UISlider的使用 其实UISlider在iOS开发中用的似乎不是很多,我们看到的用到的地方多是音乐播放器的音量控制,以及视频播放器中的音量控制. 还是记录一下吧! 1.常用属性 // 设置获 ...

  4. 《iOS开发实战 从入门到上架App Store(第2版)》书籍目录

    第1章 开发准备 1.1 iOS 10新特性简述 1.1.1 新增触觉反馈编程接口 1.1.2 SiriKit框架的开放 1.1.3 引入Messages App 1.1.4 通知框架的整合与扩展 1 ...

  5. IOS开发之简单音频播放器

    今天第一次接触IOS开发的UI部分,之前学OC的时候一直在模拟的使用Target-Action回调模式,今天算是真正的用了一次.为了熟悉一下基本控件的使用方法,和UI部分的回调,下面开发了一个特别简易 ...

  6. ios开发学习笔记(1)

    objective-c基础总结 第一二章 1.application:didiFinishLauchingWithOptions:程序启动后立即执行 2.启动界面代码格式:self.window = ...

  7. iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)--(转)

    图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作. 下 ...

  8. iOS开发--开源库

    图像: 1.图片浏览控件MWPhotoBrowser        实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩 ...

  9. iOS开发-常用第三方开源框架介绍

    iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser        实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网 ...

随机推荐

  1. Java Web -【分页功能】详解

    分页简介 分页功能在网页中是非常常见的一个功能,其作用也就是将数据分割成多个页面来进行显示. 使用场景: 当取到的数据量达到一定的时候,就需要使用分页来进行数据分割. 当我们不使用分页功能的时候,会面 ...

  2. Maven parent.relativePath

    Maven parent.relativePath 默认值为../pom.xml 查找顺序:relativePath元素中的地址–本地仓库–远程仓库 设定一个空值将始终从仓库中获取,不从本地路径获取, ...

  3. SSH搭建spring,使用依赖注入的方法

    配置文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o ...

  4. GC其他:引用标记-清除、复制、标记-整理的说明

    对象死亡历程 1.基本的mark&sweep是必须的,后续的都是对他的改进, 2.young代理的survivor就是使用了复制算法,避免碎片 3.还有标记整理算法(压缩),就是将存活的对象移 ...

  5. RabbitMQ用户管理

    rabbitmq常用命令 add_user        <UserName> <Password> delete_user     <UserName> chan ...

  6. centos6 网卡配置,多IP设置

    ##云服务器 centos6网卡配置 #设置出口IP vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=seth0 #网卡名称 BOOTPROTO ...

  7. Linux shell查询ip归属地

    起因 有的时候写脚本需要能够在脚本中获取到ip的归属地,比如分析登录日志列出攻击者的相关信息等. 可以使用whois来查询ip的详细信息,但是whois并不是每台机器预装的,而且我想看中文的结果,所以 ...

  8. Go 语言函数闭包

    Go 语言支持匿名函数,可作为闭包.匿名函数是一个"内联"语句或表达式.匿名函数的优越性在于可以直接使用函数内的变量,不必申明. 以下实例中,我们创建了函数 getSequence ...

  9. django模板语言中的extends,block和include

    extends和block一起用 它们用于母版和子版的继承 在母版html中将一些需要替换的部分用{% block xxx %}...{% endblock %}括起来, 在子版html中,在第一行需 ...

  10. Python3 MySQL 数据库连接

    什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PyMySQL 遵循 Python 数据库 AP ...