UISlider显示进度

图片展示效果如下:

其他没什么好说的,直接上代码:

RootView.h:

1 #import <UIKit/UIKit.h>
2
3 @interface RootView : UIView
4 @property (nonatomic, strong) UISlider *slider;
5 @property (nonatomic, strong) UILabel *label;
6
7 @end

RootView.m:

 1 #import "RootView.h"
 2
 3 @implementation RootView
 4
 5 - (instancetype)initWithFrame:(CGRect)frame {
 6     if (self = [super initWithFrame:frame]) {
 7         // 添加子视图
 8         [self add];
 9     }
10     return self;
11 }
12
13
14 // 添加子视图
15 - (void)add {
16
17     // 添加slider
18     self.slider = [[UISlider alloc] initWithFrame:CGRectMake(50, 300, self.frame.size.width - 50 * 2, 50)];
19     self.slider.minimumValue = 0.0;
20     self.slider.maximumValue = 100.0;
21     [self addSubview:self.slider];
22
23     // 添加label
24     self.label = [[UILabel alloc] init];
25     self.label.textAlignment = NSTextAlignmentCenter;
26     self.label.layer.cornerRadius = 15;
27     self.label.layer.borderWidth = 2;
28     self.label.layer.borderColor = [UIColor greenColor].CGColor;
29     self.label.font = [UIFont fontWithName:@"Gill Sans" size:12];
30     [self addSubview:self.label];
31
32 }
33
34 @end

RootViewController.m:

 1 #import "RootViewController.h"
 2 #import "RootView.h"
 3
 4 @interface RootViewController ()
 5 @property (nonatomic, strong) RootView *rootView;
 6
 7 @end
 8
 9 @implementation RootViewController
10
11 - (void)loadView {
12     self.rootView = [[RootView alloc] initWithFrame:[UIScreen mainScreen].bounds];
13     self.view = self.rootView;
14 }
15
16
17 - (void)viewDidLoad {
18     [super viewDidLoad];
19
20     // 为slider添加一个滑动事件(注意添加的事件是改变数据的事件UIControlEventValueChanged)
21     [self.rootView.slider addTarget:self action:@selector(slding:) forControlEvents:UIControlEventValueChanged];
22 }
23
24 // 实现滑动显示进度(百分比)
25 - (void)slding:(UISlider *)sender {
26     // 创建一个图片控制器,并且获取slider控件的某一个子控件(就是进度条的滑块,位置是2)
27     UIImageView *imageView = [self.rootView.slider.subviews objectAtIndex:2];
28     // 获取滑块在父视图上的位置
29     CGRect nowRect = [self.rootView convertRect:imageView.frame fromView:imageView.superview];
30     // 根据滑块的位置来设置label的位置
31     self.rootView.label.frame = CGRectMake(nowRect.origin.x - 10, nowRect.origin.y - 30, nowRect.size.width, nowRect.size.height);
32     // 定义一个NSInteger类型的变量来接收滑块当前滑动到的位置
33     NSInteger x = self.rootView.slider.value;
34     // 在label上显示滑块的位置
35     self.rootView.label.text = [NSString stringWithFormat:@"%ld%%",x];
36 }
37
38
39 - (void)didReceiveMemoryWarning {
40     [super didReceiveMemoryWarning];
41     // Dispose of any resources that can be recreated.
42 }
43
44 @end
时间: 2024-10-06 00:16:26

UISlider显示进度的相关文章

【CentOS】cp显示进度条

问题描述: 使用CentOS的cp时,对于大文件的拷贝或者mv,需要等待很长时间,现在需要显示cp或mv的进度 问题解决: Advanced copy 参考官网:http://beatex.org/web/advancedcopy.html 解决方法: 效果预览: [CentOS]cp显示进度条,码迷,mamicode.com

【原创】用JAVA实现大文件上传及显示进度信息

用JAVA实现大文件上传及显示进度信息 ---解析HTTP MultiPart协议 一. 大文件上传基础描述: 各种WEB框架中,对于浏览器上传文件的请求,都有自己的处理对象负责对Http MultiPart协议内容进行解析,并供开发人员调用请求的表单内容. 比如: Spring 框架中使用类似CommonsMultipartFile对象处理表二进制文件信息. 而.NET 中使用HtmlInputFile/ HttpPostedFile对象处理二进制文件信息. 优点:使用框架内置对象可以很方便的

097在进度条中显示进度百分比

效果如下: ViewController.h 1 #import <UIKit/UIKit.h> 2 #import "KMProgressViewWithLabel.h" 3 4 @interface ViewController : UIViewController 5 @property (strong, nonatomic) KMProgressViewWithLabel *progressViewCustom; 6 7 @end ViewController.m

easyui datagrid控制显示进度条

实际项目中当我们在前台分页的时候需要控制datagrid加载数据时显示进度条,而datagrid默认只有在通过url方式加载数据时才显示进度条,以下代码是手动控制: 打开进度条: $('#searchAddrDg').datagrid('loading');//打开等待div 关闭进度条: $('#searchAddrDg').datagrid('loaded');//关闭loding进度条:

ProgressIndicator显示进度条以及一些文字信息

//ProgressIndicator可以显示进度条以及一些文字信息,不过这个属性一般都在cs文件中操作. private void PhoneApplicationPage_Loaded(object sender, System.Windows.RoutedEventArgs e) {     private Microsoft.Phone.Shell.ProgressIndicator _progressIndicator = new Microsoft.Phone.Shell.Progr

复制文件时,如何显示进度条(使用TFileStream一点一点读,或者使用BlockRead)

procedure mycopyfile(sourcef,targetf:string;i:integer); var FromF,ToF:file; NumRead,NumWritten:Integer; Buf:array[1..2048] of Char; n:integer; begin AssignFile(FromF,sourcef); Reset(FromF, 1); { Record size = 1 } AssignFile(ToF,targetf); { Open outpu

显示进度条

static void jindutiao_ZF(Args _args){ RunBaseProgress progress; integer i,j;; i = 10000; progress = new RunBaseProgress(1); progress.setCaption('进度');progress.setTotal(i); progress.updateInterval(1); while(j != i) { j =j+100; progress.setCount(j); pr

基于Jquery插件Uploadify实现实时显示进度条上传图片

网址:http://www.jb51.net/article/83811.htm 这篇文章主要介绍了基于Jquery插件Uploadify实现实时显示进度条上传图片的相关资料,感兴趣的小伙伴们可以参考一下 先了解了解Uploadify,具体内容如下 Uploadify是一个简单易用的多文件上传方案.作为一个Jquery插件,Uploadify使用简单,并具有高度的定制性. Uploadify特性: Uploadify简单说来,是基于Jquery的一款文件上传插件.它的功能特色总结如下: 1).支

复制文件时,如何显示进度条(使用BlockRead函数读取数据,并插入application.ProcessMessages)

procedure mycopyfile(sourcef,targetf:string;i:integer); var FromF,ToF:file; NumRead,NumWritten:Integer; Buf:array[1..2048] of Char; n:integer; begin AssignFile(FromF,sourcef); Reset(FromF, 1); { Record size = 1 } AssignFile(ToF,targetf); { Open outpu