想在Images.xcassets 只能用 imageNamed 加载里边的素材 其他方法 你就别费老劲了

1.Images.xcassets中的素材

(1)只支持png格式的图片

(2) 图片只支持[UIImage imageNamed]的方式实例化,但是不能从Bundle中加载

(3)  在编译时,Images.xcassets中的所有文件会被打包为Assets.car的文件

2. UIImageView的序列帧动画(需要考虑程序性能,释放数据)

// 0. 是否正在动画

[self.tom isAnimating];

// 1. 设置图片的数组

[self.tom setAnimationImages:arrayM];

// 2. 设置动画时长,默认每秒播放30张图片

[self.tom setAnimationDuration:arrayM.count *0.075];

// 3. 设置动画重复次数,默认为0,无限循环

[self.tom setAnimationRepeatCount:1];

// 4. 开始动画

[self.tom startAnimating];

// 5. 动画播放完成后,清空动画数组

[self.tom performSelector:@selector(setAnimationImages:) withObject:nilafterDelay:self.tom.animationDuration];

3.UIImage imageNamed

(1)在图片使用完成后,不会直接被释放掉,具体释放时间由系统决定,适用于图片小,常用的图像处理

(2)如果要释放快速释放图片,可以使用[UIImage imageWithContentsOfFile:path]实例化图像

4.方法重构的策略

(1) 将具有共性的代码复制到一个新的方法

(2)根据不同的调用情况,增加方法的参数

提示:在写程序时不要着急重构,有时候把代码先写出来,更容易看清楚如何重构才会更好

5.Bundle(包)中的图片素材

往项目中拖拽素材时,通常选择

(1) Destination: 勾选

(2) Folders:

1)选择第一项:黄色文件夹

注意点:Xcode中分文件夹,Bundle中所有所在都在同一个文件夹下,因此,不能出现文件重名的情况

特点:

a.可以直接使用[NSBundle mainBundle]作为资源路径,效率高!

b.可以使用[UIImage imageNamed:]加载图像

2)选择第二项:蓝色文件夹

注意点:Xcode中分文件夹,Bundle中同样分文件夹,因此,可以出现文件重名的情况

特点:

a.需要在[NSBundle mainBundle]的基础上拼接实际的路径,效率较差

b.不能使用[UIImage imageNamed:]加载图

时间: 2024-11-03 05:43:50

想在Images.xcassets 只能用 imageNamed 加载里边的素材 其他方法 你就别费老劲了的相关文章

JavaScript实现判断图片是否加载完成的3种方法整理

JavaScript实现判断图片是否加载完成的3种方法整理 有时候我们在前端开发工作中为了获取图片的信息,需要在图片加载完成后才可以正确的获取到图片的大小尺寸,并且执行相应的回调函数使图片产生某种显示效果.本文主要整理了几种常见的javascipt判断图片加载完成时的方法,并通过代码与实际应用相结合进行解释与说明. onload方法 通过向img标签添加onload属性,并填入相应的函数来执行后续的javascipt代码.如下代码例子中img元素默认是不显示的,通过onload判断加载完成后再将

UIImage加载图片的两种方法区别

Apple官方的文档为生成一个UIImage对象提供了两种方法加载图片: 1. imageNamed,其参数为图片的名字: 2. imageWithContentsOfFile,其参数也是图片文件的路径. 那么两种有什么区别吗? 肯定是有的.根据Apple的官方文档: imageNamed: 这 个方法用一个指定的名字在系统缓存中查找并返回一个图片对象如果它存在的话.如果缓存中没有找到相应的图片,这个方法从指定的文档中加载然后缓存并返回这 个对象.因此imageNamed的优点是当加载时会缓存图

java加载properties文件的六种方法总结

java加载properties文件的六种方法总结 java加载properties文件的六中基本方式实现 java加载properties文件的方式主要分为两大类: >一种是通过import java.util.Properties类中的load(InputStream in)方法加载: >另一种是通过import java.util.ResourceBundle类的getBundle(String baseName)方法加载. 注意:一定要区分路径格式 实现代码如下: 1 2 3 4 5

Java的cmd配置(也即Java的JDK配置及相关常用命令)——找不到或无法加载主类 的解决方法

Java的cmd配置(也即Java的JDK配置及相关常用命令) ——找不到或无法加载主类  的解决方法 这段时间一直纠结于cmd下Java无法编译运行的问题.主要问题描述如下: javac 命令可以正常运行,而java命令有时可以正常运行,有时却不可以,不可以的症状就是显示“找不到或无法加载主类”. 在网上找了各种资料,最终发现是因为代码里含有package语句,所以无法在cmd下运行java命令解释.class文件.而那些可以运行的文件就是因为没有使用package语句. 我这种问题的解决方法

DevExpress ChartControl大数据加载时有哪些性能优化方法

DevExpress ChartControl加载大数据量数据时的性能优化方法有哪些? 关于图表优化,可从以下几个方面解决: 1.关闭不需要的可视化的元素(如LineMarkers, Labels等): Series.View.LineMarkerOptions.Visible =false. 2. 关闭图表的滚动与缩放功能,手动调整范围,这样将大大减少所需计算的个数. 3. 将 ChartControl.RefreshDataOnRepaint属性设为false 4. 将 ChartContr

Java加载资源文件几种方法

from: http://andyzhu.blog.51cto.com/4386758/775836/ import java.net.URL; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestMain { public static void main

ASP.NET动态加载用户控件的方法

方法是使用LoadControl方法,根据用户控件的相对路径,动态生成用户控件对象 用户控件 public class UserControlA :UserControl { public UserControlA(string name) { //TODO } } 需要动态生成控件的地方 string ucPath = "../UserControls/UserControlA.ascx"; UserControlA ca = Page.LoadControl(ucPath) as

spring加载过程中jar包加载不了,解决方法

当我们在开发spring项目时,一般会将jar包放到webInf/lib下,这样是myeclipse自动将jar包加载到tomcat中webapps下,但是当我们新建一个lib文件夹的情况下,我们add building Path时就会出错,这时候我们有个技巧供使用. 1.项目上点击右键搜索de,找到deployment assembly 目的就是将此处添加的jar包添加到系统webINF/lib路径下 来自为知笔记(Wiz) spring加载过程中jar包加载不了,解决方法

js 动态加载事件的几种方法总结

本篇文章主要是对js 动态加载事件的几种方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 有些时候需要动态加载javascript事件的一些方法往往我们需要在 JS 中动态添加事件,这就涉及到浏览器兼容性问题了,以下谈及的几种方法,我们也常常混合使用. 方法一.setAttributevar obj = document.getElementById("obj");obj.setAttribute("onclick", "javasc