** 加載image有兩種方式 *
- 1>[UIImage imageNamed:(NSString *)ImageName] 加載,適用于加載比較小的圖片,需要緩存的圖片和Assets里存放的圖片(注意assets里的圖片只能用這種方式加載)
- 2>[UIImage imageWithContentFile:(NSString *)Path],這種方式適合用于加載不緩存在內(nèi)存中的較大的圖片,一般將此圖片放在resource下,或者根目錄下
** 開(kāi)發(fā)遇到一個(gè)奇葩的問(wèn)題*
- 問(wèn)題描述: 由于開(kāi)發(fā)的需要用CABaseAnimation做了一個(gè)旋轉(zhuǎn)的動(dòng)畫(huà),結(jié)果出現(xiàn)一個(gè)很奇葩的問(wèn)題,當(dāng)有模態(tài)彈出VIewController時(shí)候猫妙,然后模態(tài)回去就回請(qǐng)求數(shù)據(jù),(比如我們的產(chǎn)品中條件過(guò)濾模態(tài)彈出條件過(guò)濾聚凹,點(diǎn)擊搜索就會(huì)模態(tài)彈回割坠,然后請(qǐng)求數(shù)據(jù)齐帚,加載旋轉(zhuǎn)的動(dòng)畫(huà))但是問(wèn)題來(lái)了,彈回的時(shí)候這個(gè)動(dòng)畫(huà)沒(méi)有彼哼,經(jīng)過(guò)各種嘗試和偶然的發(fā)現(xiàn)一個(gè)屬性 removeOnCompletion, 這是一個(gè)bool類型的屬性对妄,意思是是否在動(dòng)畫(huà)完成之后移除目標(biāo)layer的動(dòng)畫(huà),如果設(shè)為Yes沪羔,就是會(huì)在動(dòng)畫(huà)結(jié)束或者失效(active duration has passed. )就會(huì)移除饥伊,那么將此屬性設(shè)為no,這個(gè)問(wèn)題就解決了
- 問(wèn)題說(shuō)明:找了官方文檔也沒(méi)說(shuō)明這一點(diǎn)蔫饰,網(wǎng)上查也沒(méi)人具體分析過(guò)這個(gè)原因琅豆,我的理解是:1.當(dāng)模態(tài)視圖返回的時(shí)候這個(gè)旋轉(zhuǎn)圖已經(jīng)加載了,這時(shí)模態(tài)彈回的動(dòng)畫(huà)還沒(méi)開(kāi)始篓吁,當(dāng)模態(tài)彈回的動(dòng)畫(huà)一開(kāi)始就會(huì)執(zhí)行模態(tài)動(dòng)畫(huà)茫因。從而將其他動(dòng)畫(huà)失效,沒(méi)有設(shè)置removeOnCompletion杖剪,那就是默認(rèn)為Yes這個(gè)時(shí)候就會(huì)移除目標(biāo)layer的animations冻押,這就沒(méi)有動(dòng)畫(huà)了,一旦你設(shè)置為不移除那這個(gè)問(wèn)題就解決了,經(jīng)過(guò)驗(yàn)證發(fā)現(xiàn)不是這個(gè)推斷被否決了盛嘿,模態(tài)彈回的時(shí)候?qū)⑵湓O(shè)為沒(méi)有動(dòng)畫(huà)還是洛巢,沒(méi)有旋轉(zhuǎn),2.那就是另外一種情況當(dāng)當(dāng)前視圖不是動(dòng)畫(huà)所在的視圖這個(gè)動(dòng)畫(huà)就會(huì)失效次兆,如果沒(méi)有設(shè)置那個(gè)屬性就會(huì)被移除稿茉,總之就是動(dòng)畫(huà)已經(jīng)失效