UISlider显示进度(并且实现图片缩放)
图片展示效果如下:


其他没什么好说的,直接上代码:
RootView.h:
#import <UIKit/UIKit.h> @interface RootView : UIView
@property (nonatomic, strong) UISlider *slider;
@property (nonatomic, strong) UILabel *label;
@property (nonatomic, strong) UIImageView *imageView; @end
RootView.m:
 #import "RootView.h"
 @implementation RootView
 - (instancetype)initWithFrame:(CGRect)frame {
     if (self = [super initWithFrame:frame]) {
         // 添加子视图
         [self add];
     }
     return self;
 }
 // 添加子视图
 - (void)add {
     // 添加slider
     self.slider = [[UISlider alloc] initWithFrame:CGRectMake(, , self.frame.size.width -  * , )];
     self.slider.minimumValue = 0.0;
     self.slider.maximumValue = 100.0;
     [self addSubview:self.slider];
     // 添加label
     self.label = [[UILabel alloc] init];
     self.label.textAlignment = NSTextAlignmentCenter;
     self.label.layer.cornerRadius = ;
     self.label.layer.borderWidth = ;
     self.label.layer.borderColor = [UIColor greenColor].CGColor;
     self.label.font = [UIFont fontWithName:@"Gill Sans" size:];
     [self addSubview:self.label];
     // 添加图片
     self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(, , , )];
     self.imageView.image = [UIImage imageNamed:@"u=347478478,461363313&fm=11&gp=0.jpg"];
     [self addSubview:self.imageView];
 }
 @end
RootViewController.m:
#import "RootViewController.h"
#import "RootView.h" @interface RootViewController ()
@property (nonatomic, strong) RootView *rootView; @end @implementation RootViewController - (void)loadView {
self.rootView = [[RootView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.view = self.rootView;
} - (void)viewDidLoad {
[super viewDidLoad]; // 为slider添加一个滑动事件(注意添加的事件是改变数据的事件UIControlEventValueChanged)
[self.rootView.slider addTarget:self action:@selector(slding:) forControlEvents:UIControlEventValueChanged];
} #pragma mark - 实现滑动事件
- (void)slding:(UISlider *)sender { // 1.实现滑动显示进度(百分比)
// 创建一个图片控制器,并且获取slider控件的某一个子控件(就是进度条的滑块,位置是2)
UIImageView *imageView = [self.rootView.slider.subviews objectAtIndex:];
// 获取滑块在父视图上的位置
CGRect nowRect = [self.rootView convertRect:imageView.frame fromView:imageView.superview];
// 根据滑块的位置来设置label的位置
self.rootView.label.frame = CGRectMake(nowRect.origin.x - , nowRect.origin.y - , nowRect.size.width, nowRect.size.height);
// 定义一个NSInteger类型的变量来接收滑块当前滑动到的位置
NSInteger x = self.rootView.slider.value;
// 在label上显示滑块的位置
self.rootView.label.text = [NSString stringWithFormat:@"%ld%%",x]; // 2.实现图片缩放
// 创建一个图片控制器,并且获取slider控件的某一个子控件(就是进度条的滑块,位置是2)
UIImageView *imageView1 = [self.rootView.slider.subviews objectAtIndex:];
// 获取滑块在父视图上的位置
CGRect imageRect = [self.rootView convertRect:imageView1.frame fromView:imageView.superview];
// 重新设置图片的frame
self.rootView.imageView.frame = CGRectMake( - (imageRect.origin.x - ) / , - (imageRect.origin.x - ) / 2, + imageRect.origin.x - , + imageRect.origin.x - );
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end
UISlider显示进度(并且实现图片缩放)的更多相关文章
- python-----opencv读视频、循环读图片显示进度条
		
功能:opencv读视频,显示进度条,推动进度条快进.后退,按q退出.代码如下: import os import cv2 def nothing(emp): pass def jindu(name, ...
 - CSS实现图片缩放特效
		
今天是感恩节,祝大家感恩节快乐哦!最近天冷了,大家注意保暖哟.下面一起看看小颖写的demo吧. html代码: <!DOCTYPE html> <html> <head& ...
 - iOS开发UI篇—UIScrollView控件实现图片缩放功能
		
iOS开发UI篇—UIScrollView控件实现图片缩放功能 一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对 ...
 - Android图片缩放方法
		
安卓开发中应用到图片的处理时候,我们通常会怎么缩放操作呢,来看下面的两种做法: 方法1:按固定比例进行缩放 在开发一些软件,如新闻客户端,很多时候要显示图片的缩略图,由于手机屏幕限制,一般情况下,我们 ...
 - Android安卓开发中图片缩放讲解
		
安卓开发中应用到图片的处理时候,我们通常会怎么缩放操作呢,来看下面的两种做法: 方法1:按固定比例进行缩放 在开发一些软件,如新闻客户端,很多时候要显示图片的缩略图,由于手机屏幕限制,一般情况下,我们 ...
 - UIScrollView 之图片缩放
		
UIScrollView 之图片缩放 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理 也就是说,要完成缩放功能的话,只 ...
 - Android----基于多触控的图片缩放和拖动代码实现
		
引自:http://www.codefans.net/articles/584.shtml 一个android中自定义的ImageView控制,可对图片进行多点触控缩放和拖动类,包括了对图片放大和图片 ...
 - ajax上传文件显示进度
		
下面要做一个ajax上传文件显示进度的操作,文末有演示地址 这里先上代码: 1.前端代码 upload.html <!DOCTYPE html> <html lang="e ...
 - Android图片加载框架最全解析(七),实现带进度的Glide图片加载功能
		
我们的Glide系列文章终于要进入收尾篇了.从我开始写这个系列的第一篇文章时,我就知道这会是一个很长的系列,只是没有想到竟然会写这么久. 在前面的六篇文章中,我们对Glide的方方面面都进行了学习,包 ...
 
随机推荐
- 短日期比较 js
			
function compareDate(startDate, endDate) { var arr = startDate.split("-"); var starttime = ...
 - ruby -- 进阶学习(十七)应用代码优化
			
ROR开发,代码优化的方法下面这两项是比较重要的: link_to Rails的link_to是非常慢的,它的代码实现过于复杂,特别是Rails1.2引入了REST以后,大量的命名路由被使用,这些命 ...
 - 【Java】一次SpringMVC+ Mybatis 配置多数据源经历
			
需求 现在在维护的是学校的一款信息服务APP的后台,最近要开发一些新功能,其中一个就是加入学校电影院的在线购票.在线购票实际上已经有一套系统了,但是是外包给别人开发的,我们拿不到代码只能拿到数据库,并 ...
 - Bucky –  免费开源的实时用户监控工具
			
Bucky 是一个开源的实时用户监控工具,用于衡量用户在浏览器中使用 Web 应用程序时的性能.它可以自动测量你的网页需要多长时间来加载,Ajax 请求需要多长时间和各个函数需要实行多久. 您可能感兴 ...
 - Android学习笔记之性能优化SparseArray
			
PS:终于考完试了.来一发.微机原理充满了危机.不过好在数据库89分,还是非常欣慰的. 学习内容: 1.Android中SparseArray的使用.. 昨天研究完横向二级菜单,发现其中使用了Sp ...
 - 使用SignalR构建一个最基本的web聊天室
			
What is SignalR ASP.NET SignalR is a new library for ASP.NET developers that simplifies the process ...
 - C#开发ActiveX网页截图控件
			
故事背景:Java组的小伙伴需要一个能在IE(还是6...)下截图并返回给网页的功能,但是IE做起来很麻烦(可能根本做不到),于是找到我写一个ActiveX控件实现此功能,想着可能还有其他小伙伴需要这 ...
 - 树莓派配置静态ip
			
#vim /etc/network/interfaces 修改为如下内容: auto eth0 iface eth0 inet static address 192.168.0.2 netmask 2 ...
 - 一个Linq表达式的扩展函数帮助类
			
/// <summary> /// Linq表达式的扩展函数 /// </summary> public static class ExpressionExtensions { ...
 - Windows server 2008 r2搭建FTP服务器
			
最近需要搭建FTP服务器,顺着书上的教程走一遍流程. 1. 安装FTP服务 图一 图二 图三 可以看到上面提示并未启动windows自动更新,这个需要注意一下. 2. 新建FTP站点 准备FTP文件夹 ...