IOS系列——添加image图片和对图片添加事件响应
2013-09-14 18:23
274 查看
动态添加一张图片
首先要先说明的是:在IOS程序中。如果要读取图片。在程序中如果没有资源后缀名称,默认为png,也就是说,如果资源图片是png ,我们后缀可以不写,如果资源图片不是png格式,我们在程序中必须要加上后缀名称
第一种:直接添加本地图片
1.直接读取
这种方法存在的问题是:这样读取的图片会一直放在缓存里面,直到程序关闭
2.路径读取
这种方法的好处是,直接读取文件,而不用把文件放在内存里面去,问题是:如果图片文件过大或者说事高清图(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 文件中添加一行代码就可以了
要对图片事件响应,在这个文件中导入头文件 #import "MyTapGesture.h"
下面来实现图片的事件响应,其实也非常简单,只需要几行代码就搞定
下面的是看到别人的文件 地址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程序中。如果要读取图片。在程序中如果没有资源后缀名称,默认为png,也就是说,如果资源图片是png ,我们后缀可以不写,如果资源图片不是png格式,我们在程序中必须要加上后缀名称
第一种:直接添加本地图片
1.直接读取
UIImageView *image =[[UIImageView alloc] initWithFrame:CGRectMake(1, 1, 100, 100)]; [image setImage:[UIImage imageNamed:@"按钮"]]; [self.view addSubview:image]; [image release];
这种方法存在的问题是:这样读取的图片会一直放在缓存里面,直到程序关闭
2.路径读取
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
相关文章推荐
- 穿透图片响应下层image事件
- c# 给button添加不规则的图片以及用pictureBox替代button响应点击事件
- ios tableView那些事 (七) 给tableView添加响应事件
- Android ImageView图片透明区域不响应点击事件,不规则图片透明区域响应点击事件
- 【iOS开发】使用XCode 8添加Launch Image(启动图片)
- Android自定义控件系列 十:利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件
- Android自定义控件系列 十:利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件
- jquery 给图片添加遮罩 响应鼠标事件出现提示
- 【iOS开发】使用XCode 8添加Launch Image(启动图片)
- IOS为UIImageView图片添加点击事件
- MFC 软件登陆界面的实现(可以用来做启动画面,添加bmp图片,然后给图片加点击响应事件。)
- ios tableView那些事 (七) 给tableView添加响应事件
- 为Textview里面的ImageSpan添加点击响应事件
- Android自定义控件系列 六:利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件
- IOS UITapGestureRecognizer 遇到父view添加UIImageView的背景图片,子subview的tap事件不起作用了
- 【iOS开发】如何给字符串添加超连接(响应事件)
- ios 中通过图片的透明度来决定是否响应事件
- iOS如何给没有点击事件的View添加响应操作
- iOS -实现imageView中的button响应点击事件的方法
- 【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)