iOS控件使用之UIImageView
来源:互联网 发布:公司网络监控聊天记录 编辑:程序博客网 时间:2024/06/04 18:42
1、.h
#import <UIKit/UIKit.h>@interface FKViewController : UIViewController@property (strong, nonatomic) IBOutlet UIButton *add;@property (strong, nonatomic) IBOutlet UIButton *reduce;@property (strong, nonatomic) IBOutlet UIImageView *iv;@property (strong, nonatomic) IBOutlet UIImageView *iv2;- (IBAction)plus:(id)sender;- (IBAction)minus:(id)sender;- (IBAction)next:(id)sender;@end
2、.m
#import "FKViewController.h"@interface FKViewController ()@end@implementation FKViewControllerNSArray* images;int curImage;CGFloat alpha;- (void)viewDidLoad{[super viewDidLoad];curImage = 0;alpha = 1.0;images = [NSArray arrayWithObjects:@"lijiang.jpg",@"qiao.jpg", @"xiangbi.jpg", @"shui.jpg" , @"shuangta.jpg" , nil];// 创建一个轻击的手势检测器UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(clicked:)];// 启用iv控件的用户交互,从而允许该控件能响应用户手势self.iv.userInteractionEnabled = YES;// 为UIImageView添加手势检测器[self.iv addGestureRecognizer:singleTap];}- (void)didReceiveMemoryWarning{[super didReceiveMemoryWarning];}- (IBAction)plus:(id)sender {alpha += 0.02;// 如果透明度已经大于或等于1.0,将透明度设置为1.0if(alpha >= 1.0){alpha = 1.0; [sender setTitleColor:[UIColor grayColor] forState:UIControlStateNormal]; }// 设置iv控件的透明度。self.iv.alpha = alpha;}- (IBAction)minus:(id)sender {alpha -= 0.02;// 如果透明度已经小于或等于0.0,将透明度设置为0.0if(alpha <= 0.0){ [sender setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];alpha = 0.0;}// 设置iv控件的透明度。self.iv.alpha = alpha;}- (IBAction)next:(id)sender {// 控制iv的image显示images数组中的下一张图片self.iv.image = [UIImage imageNamed:[images objectAtIndex:(++curImage % images.count)]];}- (void) clicked:(UIGestureRecognizer *)gestureRecognizer{// 获取正在显示的原始位图UIImage* srcImage = self.iv.image;// 获取用户手指在iv控件上的触碰点CGPoint pt = [gestureRecognizer locationInView: self.iv];// 获取正在显示的原图对应的CGImageRefCGImageRef sourceImageRef = [srcImage CGImage];// 获取图片实际大小与第一个UIImageView的缩放比例CGFloat scale = srcImage.size.width / 320;// 将iv控件上触碰点的左边换算成原始图片上的位置CGFloat x = pt.x * scale;CGFloat y = pt.y * scale;if(x + 120 > srcImage.size.width){x = srcImage.size.width - 140;}if(y + 120 > srcImage.size.height){y = srcImage.size.height - 140;}// 调用CGImageCreateWithImageInRect函数获取sourceImageRef中// 指定区域的图片CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImageRef, CGRectMake(x, y, 140, 140));// 让iv2控件显示newImageRef对应的图片self.iv2.image = [UIImage imageWithCGImage:newImageRef];}@end
0 0
- iOS控件使用之UIImageView
- ios基本控件之UIImageView
- 学习iOS控件之UIImageView
- iOS开发之六:常用控件--UIImageView的使用
- IOS开发(17)之UIImageView控件
- iOS UI基础控件之UIImageView
- IOS UI控件 - UIImageView
- UIImageView控件使用详解
- UIImageView控件使用详解
- UIImageView控件使用详解
- ios-UI控件精讲之【6】-UIImageView
- iOS--Quartz2D使用(自定义UIImageView控件、绘制基本图形)
- IOS学习之UIImageView
- iOS开发之UIImageView
- IOS之UIImageView
- iOS UIImageView 的使用
- iOS开发UI系列之UIImageView的基本使用
- iOS 第四章之UIImageView
- 数据存储(3)---数据库存储
- 程序员生存定律-打造属于自己的稀缺性
- Android:java.lang.UnsatisfiedLinkError: Couldn't load BaiduMapSDK_v3_1_0 from loader
- Intersection of Two Linked Lists
- 使用 SCons 轻松建造程序
- iOS控件使用之UIImageView
- 20140916 实验
- androidの读取短信内容
- 浏览器横向滚动条自动居中
- 读取srt文本文件
- 20140919 需要铭记的教训!!!
- 复制Centos虚拟机网卡eth1和eth0
- 关于JavaWeb(一)——web介绍,tomcat与安装及其常见问题,虚拟目录及其配置虚拟主机
- 怎么在unity中使用 glsl shader