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

 

一.二維碼的介紹

 

1.什么是二維碼?

 

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

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

 

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

     信息獲?。?、地圖、WIFI密碼、資料)

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

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

     微信添加好友

 

二.二維碼界面的搭建

 

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

 

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

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

 

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

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

 

 

4.最終效果

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

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

 

三.二維碼的生成

 

1.生成二維碼的步驟

     1.1 創(chuàng)建濾鏡 CIFilter

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

 

     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),游戲開發(fā),動(dòng)畫培訓(xùn) 

 

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

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

 

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

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

  

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