iOS开发之八:UISlider、UISegmentedControl、UIPageControl的使用
本文的三种控件,用的也非常多,而我也是经常图懒,而去打开原来的项目去拷贝,现在记录一下,就不用去项目中去找这些控件的用法了。
一、UIActivityIndicatorView 的使用
UIActivityIndicatorView 俗称“风火轮”,也有人称之为菊花,安装黑苹果系统时,远景论坛上都称之为菊花。
它主要是用来告诉用户当前正在加载数据,让用户等待一下。长这个样子的:
它的常用属性和方法也比较少:
// 设置风格
@property(nonatomic) UIActivityIndicatorViewStyle
activityIndicatorViewStyle;
// 停止时,隐藏视图,默认为YES
@property(nonatomic) BOOL hidesWhenStopped;
// 修改颜色,注意版本问题
@property (readwrite, nonatomic, retain) UIColor *color
// 开始动画
- (void)startAnimating;
// 停止动画
- (void)stopAnimating;
// 判断动画的状态(停止或开始)
- (BOOL)isAnimating;
使用UIActivityIndicatorView 的示例代码如下:
UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
activityView.center = CGPointMake(160, 200);
[activityView startAnimating];
activityView.hidesWhenStopped = NO;
[self.window addSubview:activityView];
[activityView release]; [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(test:) userInfo:activityView repeats:NO]; //状态栏也显示风火轮
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
把定时器的方法也记录一下吧,设置的是3秒之后隐藏“风火轮”。
- (void)test:(NSTimer *)timer
{
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO]; UIActivityIndicatorView *activityView = [timer userInfo];
[activityView stopAnimating];
注意:苹果自带的“风火轮”效果有时候不能满足我们的需要,我们可以用第三方的框架 MBProgressHUD,它有多种效果,可以附带图片,或者附带文字,还可以改装成安卓里的toast。至于MBProgressHUD的使用,我就不介绍了,给个传送门:MBProgressHUD的使用,这是别人写的。里面还有github的下载地址。
推荐一个demo网站:code4app,里面也有MBProgressHUD的使用demo----》demo资料
二、UIAlertView的使用
//UIAlertView 初始化
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"标题" message:@"提示文本信息" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
[alertView show];
[alertView release];
上面的delegate参数设置时,需要实现UIAlertViewDelegate中的方法:
#pragma mark - AlertView Delegate
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSLog(@"buttonIndex : %d", buttonIndex);
}
我们可以根据buttonIndex来区分用户点击的是哪一按钮,来执行不同的操作。
三、UIActionSheet的使用
UIActionSheet *actionSheet = [[[UIActionSheet alloc] initWithTitle:@"title" delegate:self cancelButtonTitle:@"cancel" destructiveButtonTitle:@"destructive" otherButtonTitles:@"other1", @"other2", @"other3", @"other3", nil] autorelease];
[actionSheet showInView:self.window];// 这里我经常这样写:[actionSheet showInView:[UIApplication shareApplication].keyWindow];
[actionSheet release];
同理如果你需要根据不同按钮触发不能的操作的话,也是要实现其delegate方法。
#pragma mark - ActionSheet Delegate
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSLog(@"clickedButtonAtIndex : %d", buttonIndex);
}
我们可以根据buttonIndex来区分用户点击的是哪一按钮,来执行不同的操作。
iOS开发之八:UISlider、UISegmentedControl、UIPageControl的使用的更多相关文章
- iOS开发-图片查看(ScrollView+UIPageControl)
上周没事写了一个简单的图片查看,上次的查看只用到了一个UIImageView,不断的替换背景图片,实现图片之间的切换.通过ScrollView可以很简单的是实现图片之间的查看,设置setPagingE ...
- iOS开发技巧 - 使用UISegmentedControl来对信息进行分组
(Swift) import UIKit class ViewController: UIViewController { var segmentedControl:UISegmentedContro ...
- iOS开发之七:常用控件--UISlider、UISegmentedControl、UIPageControl的使用
一.UISlider的使用 其实UISlider在iOS开发中用的似乎不是很多,我们看到的用到的地方多是音乐播放器的音量控制,以及视频播放器中的音量控制. 还是记录一下吧! 1.常用属性 // 设置获 ...
- 《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 ...
- IOS开发之简单音频播放器
今天第一次接触IOS开发的UI部分,之前学OC的时候一直在模拟的使用Target-Action回调模式,今天算是真正的用了一次.为了熟悉一下基本控件的使用方法,和UI部分的回调,下面开发了一个特别简易 ...
- ios开发学习笔记(1)
objective-c基础总结 第一二章 1.application:didiFinishLauchingWithOptions:程序启动后立即执行 2.启动界面代码格式:self.window = ...
- iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)--(转)
图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作. 下 ...
- iOS开发--开源库
图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩 ...
- iOS开发-常用第三方开源框架介绍
iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网 ...
随机推荐
- 《java技术》第二次作业
(一)学习总结 1.什么是构造方法?什么是构造方法的重载? 1)没有返回值,名字与类名相同,当新对象被创建的时候,构造函数会被调用,要想构造函数,必须声明对象并对其初始化.每一个类都有构造函数,如果没 ...
- css3中-moz、-ms、-webkit各什么意思
1.-moz代表firefox浏览器私有属性 2.-ms代表ie浏览器私有属性 3.-webkit代表safari.chrome私有属性 这些是为了兼容老版本的写法,比较新版本的浏览器都支持直接写:b ...
- postman 模拟请求中添加 header,post请求中传json参数
1. GET 请求 2.Post 请求 (请求参数为Json,header中带有参数) 问题延伸 GET请求不能够 添加 Body 吗?[答案]
- html5应用程序缓存
缓存概念: ------页面缓存: html.JS.CSS等,这些缓存资源是由于浏览器的行为而产生; ------数据缓存 ----------AppCache: Cache Manifest 操作 ...
- TeamViewer 服务队列网页怎么打开?有什么用?
熟悉一款软件,除了要熟悉它的界面,还应该熟悉它的网站.可能会有很多人说,网站我当然知道了.但是TeamViewer的服务队列页面你真的熟悉吗?所以,今天小编就带大家深入的了解一下TeamViewer服 ...
- Map value类型不同的写法
Map value类型不同的写法 Map<String, Object> accountMap=new HashMap<String, Object>(); int userI ...
- RxSwift 系列(七) -- Connectable Operators
前言 本篇文章将要学习RxSwift中连接操作符. Connectable Observable在订阅时不发射事件消息,而是仅当调用它们的connect()方法时才发射消息,这样就可以等待所有我们想要 ...
- 反向Ajax之Socket.io
1.什么是反向ajax? 传统的ajax的困惑? 新需求--当服务器端数据发生变化时,客户端(浏览器端)如何即时得到通知呢? 找一些实际的案例:客服系统.在线聊天 这类应用,有一个显著的特点: 数据并 ...
- ionic笔记
ionic教程网站:http://www.ionic.wang/ 1.ui-router路由简介 https://blog.csdn.net/mcpang/article/details/551015 ...
- Lock锁子类了解一下
前言 回顾前面: 多线程三分钟就可以入个门了! Thread源码剖析 多线程基础必要知识点!看了学习多线程事半功倍 Java锁机制了解一下 AQS简简单单过一遍 只有光头才能变强! 上一篇已经将Loc ...