iOS10 iMessage開發

上一篇講到更新xcode8之后,出現了2個新的模板,是專門用來開發信息應用的。iOS10其中一個較為之大的變化在于發短信的時候能發表情包,和自帶的特效圖。

這就是意味著-----我們能在短信上斗圖了。。。

首先做的那個demo是不用代碼的

1、創建Sticker應用

2、創建好工程之后,發現工程里面只有一個放照片的,沒有什么.h文件,.m文件。選擇Stickers -> Sticker Pack ,只需要把你想要在短信上生成的圖片拉進去就行了。(注意:圖片要求是要 小于500kb ?, 大于300 * 300 像素 ?,小于618*618像素的 GIF,PNG,JPG,APNG圖片)

3、運行項目,如果是模擬器的話,會出現下圖的選項,選擇我們的項目就可以了,然后點擊我們的表情,編輯想發的文字,就可以發出去了

由于xcode8更新了swift3.0所以這次的demo代碼用swift 寫一遍

1、創建一個iMessageAPP

2、看一下項目的目錄架構第一個目錄只有一個Assets文件和配置文件,這個地方一般放Icon。第二個目錄為Extension目錄,該目錄為主要工作目錄,里面主要為代碼編寫和表情放置的地方。Frameworks目錄下 自動生成了一個Messges.frameworks包。我們主要用到的是Extension目錄,將我們需要的表情包放進該目錄下

3、開始我們的代碼編寫,首先創建sticker并放入數組中

//創建MSSticker數組

varstickers = [MSSticker]( )

//將圖片url生成sticker,并將其放入數組

funcloadsStickers() {

foriin1...2{

leturl =Bundle.main.url(forResource:"\(i)", withExtension:"jpg")

if(url !=nil) {

letsticker =try?MSSticker.init(contentsOfFileURL: url!, localizedDescription:"")

stickers.append(sticker!)

}

}

}

4、創建MSStickerBrowserViewController覆蓋在原本的viewcontroller上

//定義MSStickerBrowserViewController

let controller =MSStickerBrowserViewController(stickerSize: .large)

//創建MSStickerBrowserViewController

func createStickerBrowser() {

addChildViewController(controller)

view.addSubview(controller.view)

controller.stickerBrowserView.backgroundColor=UIColor.blue

view.topAnchor.constraint(equalTo:controller.view.topAnchor).isActive=true

view.bottomAnchor.constraint(equalTo:controller.view.bottomAnchor).isActive=true

view.leftAnchor.constraint(equalTo:controller.view.leftAnchor).isActive=true

view.rightAnchor.constraint(equalTo:controller.view.rightAnchor).isActive=true

}

5、遵循MSStickerBrowserViewDataSource代理,并實現必須實現的代理方法

//確認代理

controller.stickerBrowserView.dataSource=self

//顯示的表情數量

func numberOfStickers(in stickerBrowserView:MSStickerBrowserView) ->Int{

returnstickers.count

}

//返回表情

func stickerBrowserView(_stickerBrowserView:MSStickerBrowserView, stickerAt index:Int) ->MSSticker{

returnstickers[index]

}

6、最后在viewDidLoad里面實現 我們創建的2個方法

loadsStickers()

createStickerBrowser()

這樣iMessage的整個demo也就完成了

最后的demo過幾天我發github上,然后再更新。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容