真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ios開發(fā)圖片資源,ios圖片素材

iOS靜態(tài)庫和動(dòng)態(tài)庫讀取圖片資源

在將私有組件打成二進(jìn)制包的時(shí)候,我們可以選擇打包成 靜態(tài)庫 或者 動(dòng)態(tài)庫 , 靜態(tài)庫 和 動(dòng)態(tài)庫 讀取圖片的方式也略有不同,同時(shí)在私有組件里面指定資源的方式也分兩種,即 resources 和 resource_bundles ,下面做具體分析

奎屯網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

1.resources

使用 resources 來指定資源,被指定的資源只會(huì)簡(jiǎn)單的被 copy 到目標(biāo)工程中,如:

官方認(rèn)為用 resources 是無法避免每個(gè)庫和主工程之間的同名資源沖突,同時(shí),Xcode 也不會(huì)對(duì)這些資源做優(yōu)化。

2.resource_bundles

resource_bundles 允許定義當(dāng)前 Pod 庫的資源包的名稱和文件。用 hash 的形式來聲明,key 是 bundle 的名稱,value 是需要包括的文件的通配 patterns。比如:

CocoaPods 官方強(qiáng)烈推薦使用 resource_bundles,因?yàn)橛?key-value 可以避免每個(gè)庫和主工程之間的同名資源沖突

1.如果使用 resourses 指定資源:

讀取圖片可以直接從MainBundle讀?。?/p>

2.如果使用 resource_bundles 方式指定資源:

讀取圖片就要從自己的bundle讀取,也就是OTSDebugPluginsModule.bundle:

1.如果使用 resourses 指定資源:

圖片需要到自己的 frameWork 里的bundle讀?。?/p>

2.如果使用 resource_bundles 方式指定資源:

讀取圖片同樣也需要到 frameWork 里的bundle讀取,但是bundle名稱是OTSDebugPluginsModule.bundle:

后來試了一下不指定 OTSDebugPluginsModule.bundle 也行(注意:Xib和Storyboard不行,必須要指定OTSDebugPluginsModule.bundle):

動(dòng)態(tài)庫加載圖片:

針對(duì)動(dòng)態(tài)庫和靜態(tài)庫通過resource_bundles獲取資源,封裝了一個(gè)分類UIImage+OTSAssets.h:

1.動(dòng)態(tài)庫獲取資源

2.靜態(tài)庫獲取資源

方案一:通過bundle獲取

方案二:通過bundleName獲取

有了這個(gè)分類的話,在業(yè)務(wù)組件里面獲取圖片資源就很方便了,比如在登錄模塊OTSAccountModule:

聲明:

這樣就可以全局使用了:

IOS項(xiàng)目新手引導(dǎo)頁圖片適配方案

基本上每個(gè)IOS APP都會(huì)有新手引導(dǎo)頁面這個(gè)功能,常規(guī)的就是幾張靜態(tài)圖片,可以左右滾動(dòng)。既然涉及到圖片,就肯定會(huì)存在適配的問題(為了達(dá)到最優(yōu)的體驗(yàn)效果,一般都會(huì)針對(duì)不同的分辨率設(shè)計(jì)不同尺寸的圖片),本文主要就是討論如何適配的問題。

2.1 方案一

根據(jù)屏幕分辨率的不同,使用不同的圖片。

2.2 ?方案二

熟悉IOS開發(fā)的人都知道,每一個(gè)ios項(xiàng)目中,都有一個(gè)Assets.xcassets文件夾,用來管理項(xiàng)目中所有的圖片(AppIcon、LaunchImage、其他業(yè)務(wù)圖片)。

從上面的截圖我們可以看到,xcode提供了兩個(gè)內(nèi)置的類型AppIcon、LaunchImage。我們只要提供正確尺寸的圖片,ios系統(tǒng)就能在不同分辨率的設(shè)備上使用對(duì)應(yīng)的圖片而無需我們自己指定;另外就是我們自己創(chuàng)建的(avatar),提供2x、3x這兩種類型的圖片即可(1x的設(shè)備現(xiàn)在基本上找不到了,而且當(dāng)前的ios系統(tǒng)也不支持1x的設(shè)備)。那么問題來了,我們自己創(chuàng)建的圖片集合,只有3個(gè)類型(1x、2x、3x),并不能按照分辨率來設(shè)定。再看一下上面的截圖,有一個(gè)“show”的圖片集合,形式如下:

咦!這個(gè)鬼東西是怎么搞出來的?我們先看看Assets.xcassets文件夾在硬盤上的組織形式:

從上圖我們可以看到,系統(tǒng)內(nèi)置的兩種類型AppIcon、LaunchImage對(duì)于的文件夾為AppIcon.appiconset、LaunchImage.launchimage,我們自己創(chuàng)建的圖片集合avatar對(duì)應(yīng)的文件夾為avatar.imageset。講到這里,你應(yīng)該大概猜到了show這個(gè)圖片集合是怎么創(chuàng)建出來了吧?

1、先創(chuàng)建一個(gè)LaunchImage類型的圖片集合;

2、修改名稱(LaunchImage→show)

3、修改文件夾名稱(show.launchimage→show.imageset)

回到正題,在show這個(gè)圖片集合里面,我們就可以輕松的根據(jù)分辨率設(shè)置2x、3x類型的圖片。

現(xiàn)在我們可以按照下圖的方式使用新手引導(dǎo)圖片了:

親測(cè):不同分辨率的設(shè)備,展示對(duì)應(yīng)的圖片。

我們注意到,show.imageset文件夾中有一個(gè)文件Contents.json,正是這個(gè)文件,ios系統(tǒng)才能根據(jù)設(shè)備類型展示對(duì)應(yīng)的圖片資源。Contents.json文件內(nèi)容如下:

系統(tǒng)展示圖片的時(shí)候,會(huì)先解析這個(gè)文件,然后根據(jù)設(shè)備的分辨率,找到對(duì)應(yīng)的圖片。

關(guān)于iOS開發(fā)加載本地html 圖片等資源路徑問題

將css,html,js 所在的文件夾拖入項(xiàng)目的時(shí)候會(huì)有兩種情況

一個(gè)是 Create groups for any added folders (創(chuàng)建虛擬結(jié)構(gòu)-包結(jié)構(gòu))

一個(gè)是 Create folder references for any added folders (創(chuàng)建實(shí)體結(jié)構(gòu))

第一種是絕對(duì)路徑 文件夾拖入為黃色

NSURL*fileURL = [[NSBundle mainBundle] URLForResource:@"index.html"withExtension:nil];

本地html中加載圖片,js,css資源也應(yīng)該使用絕對(duì)路徑就行了

如 script type="text/javascript" src="index.js"/script

第二種是相對(duì)路徑 文件夾拖入為藍(lán)色

NSURL*fileURL = [[NSBundle mainBundle] URLForResource:@"file/index.html"withExtension:nil];

file為本地html所在文件夾

本地html中加載圖片,js,css資源也應(yīng)該使用相對(duì)路徑

如 script type="text/javascript" src="js/index.js"/script


本文名稱:ios開發(fā)圖片資源,ios圖片素材
分享URL:http://weahome.cn/article/dsipeoe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部