关于iOS网络请求tabbart图片显示不正常的问题
来源:互联网 发布:江苏十一选五遗漏数据 编辑:程序博客网 时间:2024/05/08 09:16
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal
保证图片不被修改 结果图片会变成这样图片颜色回来了 但是大小还是不正常 捣鼓了一下午 中间修改图片尺寸 甚至自定义tabbar 终于发现问题 需要在图片后边加上@2x或者@3x(网络请求的话可以在存本地的时候将图片名称拼接@2x @3x 具体几倍可以通过后台设置来取
) 不然tabbar会把图片当成@1x的 即图片多大 tabbar的图片就有多大 后来将图片甚至成@2x 图片正常了
2017.4.7更新 鉴于很多人让我贴代码 我还是在这里讲一下 我们要做的就是简单的将网络请求图片数据写入本地 中间出现的唯一问题就是图片没法适应高度 苹果官方文档里tabbar图片尺寸为25x25的 直接让后台给这么大的肯定不行 因为图片会模糊 所以我让后台给 50x50的 我这边名称拼接@2x
1.获取图片名
NSArray*stringArr =[imageUrlcomponentsSeparatedByString:@"/"];imageUrl为从接口获取的图片URL
NSString*imageName1 = stringArr.lastObject;
NSArray *arr = [imageName1 componentsSeparatedByString:@"."];
NSString *imageName;
if (![arr[0] isEqualToString:@""]) {
imageName =[NSString stringWithFormat:@"%@@2x.jpg",arr[0]];
}//一般URL就是服务器拼接图片名称 比如:http://pic55.nipic.com/file/20141208/19462408_171130083000_2.jpg,而我们要做的就是获取图片名称19462408_171130083000_2,拼接@2x.jpg然后创建路径(文件夹路径 拼接 图片名称 比如:沙河路径19462408_171130083000_2@2x.jpg),然后将其data写入到该路径下
2.写入到沙盒路径下
NSData *data = [NSDatadataWithContentsOfURL:[NSURLURLWithString:imageUrl]];
UIImage *image = [UIImageimageWithData:data];//这两步是下载图片到本地 耗时操作 建议放在子线程来做(为image赋值在子线程是可操作的 并不是刷新UI 不需要回到主线程做)
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES);
NSString *filePath = [[pathsobjectAtIndex:0]stringByAppendingPathComponent:imageName];
//这一步就是拼接路径了if ([UIImagePNGRepresentation(image) writeToFile:filePath atomically:YES]) {
}//这一步就是写入操作了 返回值是一个bool值 表明是否成功
- 关于iOS网络请求tabbart图片显示不正常的问题
- 关于Win7网络小图标显示不正常的解决办法
- 关于ios横竖屏显示不正常的一个Bug修复
- 关于VNC显示不正常的问题的解决
- 关于知网的CAJviewer不正常显示的问题
- 请求网络图片 无法显示问题
- 解决office word图片显示不正常问题
- ios请求网络图片简便的方法
- 关于UEditor上传图片后显示不正常,路径错误的原因
- 解决IE8显示不正常的问题
- 创建子窗口显示不正常的问题
- ScrollView嵌套ExpandableListView显示不正常的问题
- ios 网络请求问题
- iOS网络请求下来的数据显示时出现的问题
- 关于Linux下中文显示不正常的问题的一点经验
- combobox 显示不正常问题
- ios网络请求3840错误的问题
- 关于smartgridview在vs2008下设计视图下显示不正常的问题
- Android开发之ButterKnife,GreenDao简单运用,以及推荐并使用一个好用的开源库BaseRecyclerViewAdapterHelper。
- jquery中使用ajax接收数据并且显示
- three.js官方手册翻译【第二节WegGL和浏览器兼容性检测】
- 简要描述行内元素和块级元素的区别。
- code(vs)1010 过河卒 (棋盘dp)
- 关于iOS网络请求tabbart图片显示不正常的问题
- 【Loadrunner】如何将时间戳中"秒"去除的方法
- QT学习笔记1
- Tomcat 8熵池阻塞变慢详解
- 事件委派
- 非CS专业小硕的机器学习/数据挖掘岗位秋招经验
- Resources.Load();路径和必须用GameObject
- Mysql学习笔记 --- int字段长度详解
- Swift-构造方法