標籤:
這一篇主要是介紹怎麼拖apple watch上的相關頁面,附源碼EMWatchOCDemo。 需要在工程中的“EMWatchOCDemo WatchKit App”中進行操作,該檔案夾的
WatchKit幾乎不允許直接coding頁面,只能在storyboard上拖來拖去,對於我這種習慣直接coding 頁面的人來說,真真是極痛苦的。
一、確定apple watch上的操作流程
首先,我想要一個菜單頁面,跟iPhone程式對應,在環信SDK未登入情況下,顯示登入選項;在環信 SDK登入情況下,有三項:會話,好友,群組。
然後,登入選項點擊之後,能啟動iPhone進行登入操作,因為watch的頁面實在是太小了,沒有鍵 盤,環信SDK也不支援指紋或者聲音登入。
再然後,登入操作成功之後菜單頁面顯示三項選項,每項點擊都可以進入對應頁面,顯示相應的資料。
最後,進入聊天頁面,可以顯示已有的聊天記錄,可以發送表情。本來想加入發送心跳的功能,但是 發現WatchKit不支援watch app擷取硬體感應器參數,而且找到了一篇不錯的自問自答文章 http://www.cocoachina.com/ios/20150323/11396.html
二、在storyboard上拖來拖去
1、點擊檔案夾下的interface.storyboard檔案,右邊會出現相應的視圖顯示。根據第一步的思路,直 接拖4個Interface Controller, duang~,duang~,duang~, duang~,
每個Interface Controller的Identifier屬性強烈建議寫上,為什麼請見第3章。為了便於區分每個 controller,個人習慣給每個Interface Controller都填寫Title屬性。 2、想了一下菜單,會話,好友,群組的功能,顯示用table是再好不過的了,直接再拖table到每個 controller,然後你就會發現一些奇怪的東西,
Table Row Controller是類似於自訂UITableViewCell的東西,預設是繼承於NSObject。
Group應該算是個新概念,它的作用是將頁面上的控制項分塊。WatchKit不支援設定frame,目前我知 道的,只是支援在橫向上“左中右”,在縱向上“上中下”,支援設定大小。如果你想實現一個九宮 格樣式的頁面,比較討巧的方式是直接用三行Table Row Controller,每行三個button。不討巧的方 法,抱歉,我發現不管怎樣排列組合這些屬性,都出不來九宮格。
3、在會話頁面顯示和誰聊天的username,在好友頁面顯示好友的username,在群組頁面顯示群組 的名字,用Label通通能搞定。
我在group裡拖一個label,預設就是這個樣子
自己選下不同的選項,看下效果,
4、聊天頁面比較特殊,需要自己發送的在左邊顯示,對方發的在右邊顯示。不過這個很容易實現, 只需要發送的和接收的放在兩個Table Row Controller裡,然後設定空間的Position即可,:
拖完上邊這些,頁面就差不多了 。在Scheme中選擇EMWatchOCDemo WatchKit App,編譯 OK,。
環信SDK與Apple Watch的結合(2)