利用一個(gè)小demo來(lái)對(duì)二維碼進(jìn)行學(xué)習(xí),總共四個(gè)界面(主界面,生成二維碼界面,識(shí)別二維碼界面,掃描二維碼界面)

 

一.二維碼的介紹

 

1.什么是二維碼?

 

     二維條碼/二維碼是用某種特定的幾何圖形按一定規(guī)律在平面分布的黑白相間的圖形記錄數(shù)據(jù)符號(hào)信息的

     總結(jié): 用圖形記錄標(biāo)記一些信息,方便通過(guò)圖形識(shí)別來(lái)獲取信息

 

2 應(yīng)用場(chǎng)景

     信息獲?。⒌貓D、WIFI密碼、資料)

     手機(jī)電商(用戶掃碼、手機(jī)直接購(gòu)物下單)

     手機(jī)支付(掃描商品二維碼,通過(guò)銀行或第三方支付提供的手機(jī)端通道完成支付)

     微信添加好友

 

二.二維碼界面的搭建

 

1.總共四個(gè)界面,可以采用storyBoard來(lái)搭建

 

2.四個(gè)storyBoard放在一個(gè)界面,看起來(lái)不美觀,還很容易搞混,有沒(méi)有優(yōu)化方案?

     可以把四個(gè)storyBoard分別開(kāi)來(lái),單獨(dú)放到一個(gè)界面里面

 

3.怎么把storyBoard單獨(dú)放在一個(gè)界面,而且還讓這些界面有聯(lián)系(連線)?

     可以用storyBoard reference 來(lái)解決  就是用一個(gè)引用來(lái)代替storyBoard,保持storyBoard間的聯(lián)系(連線)

 

 

4.最終效果

 平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開(kāi)發(fā),動(dòng)畫(huà)培訓(xùn)

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開(kāi)發(fā),動(dòng)畫(huà)培訓(xùn)

 

三.二維碼的生成

 

1.生成二維碼的步驟

     1.1 創(chuàng)建濾鏡 CIFilter

          濾鏡屬于CoreImage框架,要導(dǎo)入該框架   該框架將常用來(lái)處理圖片(生成毛玻璃效果/二維碼)

 

     1.2 給濾鏡設(shè)置內(nèi)容(用kvc方式賦值)

          內(nèi)容必須為NSData類型

 

     1.3 獲取生成的二維碼圖片

          獲取的圖片是CIImage類型的,使用的話要進(jìn)行轉(zhuǎn)換

 

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開(kāi)發(fā),動(dòng)畫(huà)培訓(xùn) 

 

2.運(yùn)行程序發(fā)現(xiàn)生成的二維碼圖片很模糊,為什么?

     生成為二維碼圖片大小為 27 * 27 被拉伸的太大,所以不清晰

 

3.怎么顯示清晰的二維碼?

     蘋(píng)果提供一個(gè)api(CIImage的方法)對(duì)圖片放大,還不影響清晰度

  

1  // 1.創(chuàng)建Transform    orginalImage的數(shù)據(jù)類型為CIImage2 &n