IOS系列——添加image图片和对图片添加事件响应
来源:互联网 发布:视频面试软件 编辑:程序博客网 时间:2024/06/10 07:40
动态添加一张图片
首先要先说明的是:在IOS程序中。如果要读取图片。在程序中如果没有资源后缀名称,默认为png,也就是说,如果资源图片是png ,我们后缀可以不写,如果资源图片不是png格式,我们在程序中必须要加上后缀名称
第一种:直接添加本地图片
1.直接读取
UIImageView *image =[[UIImageView alloc] initWithFrame:CGRectMake(1, 1, 100, 100)]; [image setImage:[UIImage imageNamed:@"按钮"]]; [self.view addSubview:image]; [image release];
这种方法存在的问题是:这样读取的图片会一直放在缓存里面,直到程序关闭
NSString *path = [[NSBundle mainBundle] pathForResource:@"按钮" ofType:@"png"]; NSData *data = [NSData dataWithContentsOfFile:path]; UIImageView *image =[[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)]; [image setImage:[UIImage imageWithData:data]]; [self.view addSubview:image];
这种方法的好处是,直接读取文件,而不用把文件放在内存里面去,问题是:如果图片文件过大或者说事高清图(x2)这样的,可能会读取不了
可以参考下面的方法
// 会缓存图片
UIImageView *wallpaper = [[UIImageView alloc] initWithImage:
wallpaper = [UIImage imageNamed:@"icon.png"]];
// 不会缓存图片
UIImageView *wallpaper = [[UIImageView alloc] initWithImage:
wallpaper = [UIImage imageWithContentsOfFile:@"icon.png"]];
对图片添加事件响应
有时候我们对图片添加了之后,还需要对图片添加事件响应,不过对于图片本身来讲,是不支持事件相应的,我们需要借助手势来满足这个需求 UITapGestureRecognizer
如果收每个图片直接响应一个方法,就可以直接用UITapGestureRecognizer
但是,如果很多图片的事件响应都要响应同一个方法 我们需要像button一样添加tag来决定不同的行为,但是对于UITapGestureRecognizer这个类本身是不带这样的属性的,所以我们可以自定义一个类并且添加一个int属性
自定义一个类,比如说 MyTapGesture 来继承UITapGestureRecognizer 添加的属性为 int 类型的 tag,具体代码为在自定义 MyTapGesture类 .h 文件中添加一行代码就可以了
@property(assign,nonatomic) int tag;
要对图片事件响应,在这个文件中导入头文件 #import "MyTapGesture.h"
下面来实现图片的事件响应,其实也非常简单,只需要几行代码就搞定
MyTapGesture *tapGesture = [[MyTapGesture alloc] init]; //对手势开辟空间 [image addGestureRecognizer:tapGesture]; //对图片添加手势 tapGesture.tag = 1; //设置手势tag [tapGesture addTarget:self action:@selector(change:)]; //设置手势响应方法 image.userInteractionEnabled = YES;
下面的是看到别人的文件 地址http://blog.sina.com.cn/s/blog_45e2b66c010116da.html 还没搞明白,暂时先收着,以后看
两个view设置阴影的效果:注意是view1添加到view2,不要反了
UIView*view1=[[UIViewalloc]init];
UIView*view2=[[UIViewalloc]init];
view1.layer.cornerRadius=5.0;
view1.layer.masksToBounds=YES;
view2.layer.cornerRadius=5.0;
view2.layer.shadowColor=[[UIColorblackColor]CGColor];
view2.layer.shadowOpacity=1.0;
view2.layer.shadowRadius=10.0;
view2.layer.shadowOffset=CGSizeMake(0.0f,0.0f);
[view2 addSubview:view1];
[view1 release];
http://www.2cto.com/kf/201112/112730.html
http://nachbaur.com/blog/fun-shadow-effects-using-custom-calayer-shadowpaths
- IOS系列——添加image图片和对图片添加事件响应
- iOS image 添加图片
- swift——图片添加点击事件
- iOS UIImageView图片添加点击事件
- 【iOS开发】使用Xcode8 添加Launch Image(启动图片)
- iOS开发---使用Xcode8 添加Launch Image(启动图片)
- ios tableView添加响应事件
- actionBar添加action图片和点击事件
- 穿透图片响应下层image事件
- ios 图片添加阴影
- iOS 图片添加水印
- ios图片添加水印
- iOS:图片添加水印
- 添加图片 image和byte[] 的相互转换
- NDK处理图片——添加文字和图片水印
- iOS给图片(其他view) 添加点击事件
- validate 表单验证 添加图片(image)
- iOS添加启动页图片添加设置
- Code Sign error: Provisioning profile ‘XXXX’ can't be found
- Java的反射机制
- php 时间处理(昨天 上个月 本月 最近7天)
- UIPageViewController 实现从中间翻页效果
- Play!
- IOS系列——添加image图片和对图片添加事件响应
- linux 启用root用户登录,启用root帐号和登录权限
- C++与C#的内存映射
- UVa 621 Secret Research (water ver.)
- Java中&和&&
- 为何“返回”按钮总是不显示
- VS2012关闭单击文件进行预览的功能
- poj-2406 kmp中的next数组应用
- 生产者 消费者 (wait notify)