图片展示效果如下:

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

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. @property (nonatomic, strong) UIImageView *imageView;
  7.  
  8. @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. - (void)add {
  15.  
  16. // 添加slider
  17. self.slider = [[UISlider alloc] initWithFrame:CGRectMake(, , self.frame.size.width - * , )];
  18. self.slider.minimumValue = 0.0;
  19. self.slider.maximumValue = 100.0;
  20. [self addSubview:self.slider];
  21.  
  22. // 添加label
  23. self.label = [[UILabel alloc] init];
  24. self.label.textAlignment = NSTextAlignmentCenter;
  25. self.label.layer.cornerRadius = ;
  26. self.label.layer.borderWidth = ;
  27. self.label.layer.borderColor = [UIColor greenColor].CGColor;
  28. self.label.font = [UIFont fontWithName:@"Gill Sans" size:];
  29. [self addSubview:self.label];
  30.  
  31. // 添加图片
  32. self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(, , , )];
  33. self.imageView.image = [UIImage imageNamed:@"u=347478478,461363313&fm=11&gp=0.jpg"];
  34. [self addSubview:self.imageView];
  35.  
  36. }
  37.  
  38. @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. - (void)viewDidLoad {
  17. [super viewDidLoad];
  18.  
  19. // 为slider添加一个滑动事件(注意添加的事件是改变数据的事件UIControlEventValueChanged)
  20. [self.rootView.slider addTarget:self action:@selector(slding:) forControlEvents:UIControlEventValueChanged];
  21. }
  22.  
  23. #pragma mark - 实现滑动事件
  24. - (void)slding:(UISlider *)sender {
  25.  
  26. // 1.实现滑动显示进度(百分比)
  27. // 创建一个图片控制器,并且获取slider控件的某一个子控件(就是进度条的滑块,位置是2)
  28. UIImageView *imageView = [self.rootView.slider.subviews objectAtIndex:];
  29. // 获取滑块在父视图上的位置
  30. CGRect nowRect = [self.rootView convertRect:imageView.frame fromView:imageView.superview];
  31. // 根据滑块的位置来设置label的位置
  32. self.rootView.label.frame = CGRectMake(nowRect.origin.x - , nowRect.origin.y - , nowRect.size.width, nowRect.size.height);
  33. // 定义一个NSInteger类型的变量来接收滑块当前滑动到的位置
  34. NSInteger x = self.rootView.slider.value;
  35. // 在label上显示滑块的位置
  36. self.rootView.label.text = [NSString stringWithFormat:@"%ld%%",x];
  37.  
  38. // 2.实现图片缩放
  39. // 创建一个图片控制器,并且获取slider控件的某一个子控件(就是进度条的滑块,位置是2)
  40. UIImageView *imageView1 = [self.rootView.slider.subviews objectAtIndex:];
  41. // 获取滑块在父视图上的位置
  42. CGRect imageRect = [self.rootView convertRect:imageView1.frame fromView:imageView.superview];
  43. // 重新设置图片的frame
  44. self.rootView.imageView.frame = CGRectMake( - (imageRect.origin.x - ) / , - (imageRect.origin.x - ) / 2, + imageRect.origin.x - , + imageRect.origin.x - );
  45. }
  46.  
  47. - (void)didReceiveMemoryWarning {
  48. [super didReceiveMemoryWarning];
  49. // Dispose of any resources that can be recreated.
  50. }
  51.  
  52. @end

UISlider显示进度(并且实现图片缩放)的更多相关文章

  1. python-----opencv读视频、循环读图片显示进度条

    功能:opencv读视频,显示进度条,推动进度条快进.后退,按q退出.代码如下: import os import cv2 def nothing(emp): pass def jindu(name, ...

  2. CSS实现图片缩放特效

    今天是感恩节,祝大家感恩节快乐哦!最近天冷了,大家注意保暖哟.下面一起看看小颖写的demo吧. html代码: <!DOCTYPE html> <html> <head& ...

  3. iOS开发UI篇—UIScrollView控件实现图片缩放功能

    iOS开发UI篇—UIScrollView控件实现图片缩放功能 一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对 ...

  4. Android图片缩放方法

    安卓开发中应用到图片的处理时候,我们通常会怎么缩放操作呢,来看下面的两种做法: 方法1:按固定比例进行缩放 在开发一些软件,如新闻客户端,很多时候要显示图片的缩略图,由于手机屏幕限制,一般情况下,我们 ...

  5. Android安卓开发中图片缩放讲解

    安卓开发中应用到图片的处理时候,我们通常会怎么缩放操作呢,来看下面的两种做法: 方法1:按固定比例进行缩放 在开发一些软件,如新闻客户端,很多时候要显示图片的缩略图,由于手机屏幕限制,一般情况下,我们 ...

  6. UIScrollView 之图片缩放

    UIScrollView 之图片缩放 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理 也就是说,要完成缩放功能的话,只 ...

  7. Android----基于多触控的图片缩放和拖动代码实现

    引自:http://www.codefans.net/articles/584.shtml 一个android中自定义的ImageView控制,可对图片进行多点触控缩放和拖动类,包括了对图片放大和图片 ...

  8. ajax上传文件显示进度

    下面要做一个ajax上传文件显示进度的操作,文末有演示地址 这里先上代码: 1.前端代码 upload.html <!DOCTYPE html> <html lang="e ...

  9. Android图片加载框架最全解析(七),实现带进度的Glide图片加载功能

    我们的Glide系列文章终于要进入收尾篇了.从我开始写这个系列的第一篇文章时,我就知道这会是一个很长的系列,只是没有想到竟然会写这么久. 在前面的六篇文章中,我们对Glide的方方面面都进行了学习,包 ...

随机推荐

  1. Struts2知多少(2) Struts2 是什么

    Struts2是流行和成熟的基于MVC设计模式的Web应用程序框架. Struts2不只是Struts1下一个版本,它是一个完全重写的Struts架构. WebWork框架开始以Struts框架为基础 ...

  2. Hadoop第9周练习—Hive部署测试(含MySql部署)

    1.1 2 :搭建Hive环境 内容 2.2 3  运行环境说明 1.1  硬软件环境 线程,主频2.2G,6G内存 l  虚拟软件:VMware® Workstation 9.0.0 build-8 ...

  3. 前端们,gulp该用起来了,简单的demo入门——gulp系列(一)

    gulp.grunt前端自动化工具,只有用过才知道多么重要. 它们问世这么久了?你真的用过吗? 写个简单的less.watch任务的demo分享———— 1.准备: 安装全局node.npm,这个教程 ...

  4. "浅谈Android"第二篇:活动(Activity)

        距离上一篇文章,过去有半个多月了,在此期间忙于工作,疏于整理和总结,特此写下这篇博文,来谈谈自己对Activity的理解.总所周知,Activity组件在Android中的重要性不言而喻,我们 ...

  5. Android 学习笔记之使用多线程实现断点下载...

    PS:莫名其妙的迷茫... 学习内容: 1.使用多线程实现文件下载...   多线程下载是加快下载速度的一种方式..通过开启多个线程去执行一个任务..可以使任务的执行速度变快..多线程的任务下载时常都 ...

  6. “康园圈--互联网+校园平台“项目之Sprint3

    sprint3任务列表 1.部署项目内测版上线,并绑定相应域名. 2.添加测试用的模拟数据. 3.写已实现功能及效果汇报文档. 4.写项目总结博客. 5.记录并分析用户反馈. 看板动态 第一次 第二次 ...

  7. 利用DropDownList实现下拉

    在视图的Model<Vo>里面我们需要使用IEnumerable来将别的列表的数据全部的转化为下拉列表.下面是关于在项目中实际的写法. 一:实现下拉属性列表的写法   通过使用Select ...

  8. 数论 - 高精度Fibonacci数 --- UVa 10183 : How Many Fibs ?

    How many Fibs? Description Recall the definition of the Fibonacci numbers: f1 := 1 f2 := 2 fn := f n ...

  9. PHP的加密解密字符串函数

    程序中经常使用的PHP加密解密字符串函数 代码如下: /********************************************************************* 函数 ...

  10. 无法将类型为“System.Windows.Controls.SelectedItemCollection”的对象强制转换为类型“System.Collections.Generic.IList`1

    在WPF中DataGrid 选择事件中获取SelectedItems 报错如下 无法将类型为“System.Windows.Controls.SelectedItemCollection”的对象强制转 ...