iOS---watchOS 2基礎(chǔ)

相比于watch OS 1 ,OS 2將WatchKit Extension挪到了手表端纵苛,手表端將獨立進行邏輯處理,編碼方面沒有太大變化,通信方式發(fā)生了改變铺厨,改為使用<code>WatchConnectivity</code>進行通信。

Paste_Image.png

與手表端進行通信

你需要在iPhone端和手表端同時進行注冊<code>WCSession</code>硬纤。
注冊方式:

 let session = WCSession.defaultSession()
        if WCSession.isSupported() {
            session.delegate = self;
            session.activateSession()
        }

發(fā)送信息:

WCSession.defaultSession().sendMessage(["key":"value"], replyHandler: { (reply) in
            //回調(diào)
            }) { (error) in
            //error
        }

我們觀察一下<code>WCSessionDelegate</code>解滓,其中包括很多通信中將使用到的協(xié)議方法,實現(xiàn)相關(guān)協(xié)議即可接收到信息筝家。
你可能用的最多的會是這個協(xié)議方法:

 optional public func session(session: WCSession, didReceiveUserInfo userInfo: [String : AnyObject])

這個方法將在前臺時收到通訊信息洼裤,參數(shù)是一個字典。
協(xié)議中一共有三種方法溪王,分別是:

/** ------------------------- iOS App State For Watch ------------------------ */
/** ------------------------- Interactive Messaging ------------------------- */
/** -------------------------- Background Transfers ------------------------- */

UI以及布局

相比于iPhone端腮鞍,手表端受限于尺寸大小,UI控件數(shù)量上少了很多莹菱,經(jīng)常使用到的UI控件包括:

group
Table
Image
Label
Button
Picker

以上控件都是適合手表尺寸上交互的控件移国,同時在UI布局上與iPhone端有較大區(qū)別,手表端不在使用坐標(biāo)系進行布局道伟,而是簡單使用左迹缀、中、右布局蜜徽,也就是在水平和垂直上都左裹芝、中、右三個位置的選擇娜汁,你只能在這個劃分成九宮格的布局中擺放你的控件嫂易,當(dāng)然你是可以控制你的控件的大小的。

group

你可以把你的控件放在<code>group</code>上面掐禁,在group上你同樣可以用左中右的布局進行布局怜械,相當(dāng)于html中的<div>,這樣的布局方式是什么適合使用storyBoard(當(dāng)然你也只能使用StoryBoard)傅事。

WKInterfaceLabel

WKInterfaceLabel和UILabel有較大的區(qū)別缕允,里面的方法只有三個:

//設(shè)置文字
public func setText(text: String?)
//設(shè)置文字顏色
public func setTextColor(color: UIColor?)    
//設(shè)置文本屬性
public func setAttributedText(attributedText: NSAttributedString?)
WKInterfaceImage

WKInterfaceImage中的主要方法:

public func setImage(image: UIImage?)
public func setImageData(imageData: NSData?)
public func setImageNamed(imageName: String?)

這里需要注意一點:在watch中不支持像iPhone端那樣的動畫,你唯一制作動畫的方法可能就是利用WKInterfaceImage一幀一幀繪制你的動畫了蹭越,也就是用一系列圖片串成一個動畫障本,你可以使用<code>WKInterfaceImage</code>來實現(xiàn)這一點:

        let image1 = UIImage(named: "image1")
        let image2 = UIImage(named: "image2")
        let image = UIImage.animatedImageWithImages([image1!,image2!], duration: 1)
        self.heartImage.setImage(image)
        self.heartImage.startAnimating()

像上面那樣就是用兩張圖片拼接成一個動畫,你還可以控制的屬性包括動畫的時間,動畫的播放次數(shù)驾霜,開始動畫和結(jié)束動畫:


    // Play all images repeatedly using duration specified in interface description.
    public func startAnimating()
    
    // Play a subset of images for a certain number of times. 0 means repeat until stop.
    public func startAnimatingWithImagesInRange(imageRange: NSRange, duration: NSTimeInterval, repeatCount: Int)
    
    public func stopAnimating()

·······················
watch中的UI控件大都使用十分簡單案训,大家看看文檔自己嘗試一下都能整明白。


展示新頁面

每一個controller都有一個Identifier粪糙,你想要展示這個controller就必須要設(shè)置Identifier强霎。


Paste_Image.png

在watch中你可選擇展示一個新頁面或者展示多個新頁面,展示多個新頁面也就是通過左滑右滑進行展示蓉冈,大概長成這樣:

Paste_Image.png

這就是兩個頁面進行切換城舞。
具體的方法:

public func presentControllerWithName(name: String, context: AnyObject?) // modal presentation//展示單個
public func presentController(namesAndContexts: [(name: String, context: AnyObject)])//展示多個

public func pushControllerWithName(name: String, context: AnyObject?) // context passed to child controller via initWithContext:

這里和iPhone端的展示方式是一樣的,同樣包括modal和push兩種展示方式寞酿,他需要第一個參數(shù)就是上面填寫的identifier家夺,第二個參數(shù)則是傳遞給這個頁面的參數(shù)。

在watch中還有第三種展示方式:

extension WKInterfaceController {
    public class func reloadRootControllers(namesAndContexts: [(name: String, context: AnyObject)])
}

這個方法相當(dāng)于iPhone端中的<code>window.rootViewController</code>同時這個方法將釋放之前所有的界面.

返回上一界面:

 self.popToRootController()
 self.popController()

watch目前的交互方式比較單一伐弹,同時apple開發(fā)的接口也較少秦踪,所以watch開發(fā)還是比較容易掌握的。

很多文章歡迎訪問我的個人主頁:StrongX.cn

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末掸茅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子柠逞,更是在濱河造成了極大的恐慌昧狮,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件板壮,死亡現(xiàn)場離奇詭異逗鸣,居然都是意外死亡,警方通過查閱死者的電腦和手機绰精,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門撒璧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人笨使,你說我怎么就攤上這事卿樱。” “怎么了硫椰?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵繁调,是天一觀的道長。 經(jīng)常有香客問我靶草,道長蹄胰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任奕翔,我火速辦了婚禮裕寨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己宾袜,他們只是感情好捻艳,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著试和,像睡著了一般讯泣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上阅悍,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天好渠,我揣著相機與錄音,去河邊找鬼节视。 笑死拳锚,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的寻行。 我是一名探鬼主播霍掺,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼拌蜘!你這毒婦竟也來了杆烁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤简卧,失蹤者是張志新(化名)和其女友劉穎兔魂,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體举娩,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡析校,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了铜涉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片智玻。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖芙代,靈堂內(nèi)的尸體忽然破棺而出吊奢,到底是詐尸還是另有隱情,我是刑警寧澤纹烹,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布事甜,位于F島的核電站,受9級特大地震影響滔韵,放射性物質(zhì)發(fā)生泄漏逻谦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一陪蜻、第九天 我趴在偏房一處隱蔽的房頂上張望邦马。 院中可真熱鬧,春花似錦、人聲如沸滋将。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽随闽。三九已至父丰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間掘宪,已是汗流浹背蛾扇。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留魏滚,地道東北人镀首。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像鼠次,于是被迫代替她去往敵國和親更哄。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫腥寇、插件成翩、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,022評論 4 62
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,499評論 25 707
  • 1.霧里看花 (容祖兒) 有人心疼說我委屈了點,也有人笑我一定是瞎了眼,但愛不愛你是我自己的人生,我管別人能不能了...
    LYQ1024閱讀 1,041評論 0 2
  • 靈巖山以靈巖奇石得名,舊有“十八奇石”之說赦役, 因為靈巖塔前有一塊"靈芝石"十分有名麻敌,因此得名"靈巖山"。 山石顏色...
    羽磬和香瀏陽閱讀 304評論 0 0
  • 一、你的“氣”從哪里來 現(xiàn)實生活中總有這樣一群人:經(jīng)常不由自主地生氣域携,甚至不分時間簇秒、地點、場合秀鞭,從而造成一系列或大...
    YeahsBaby閱讀 651評論 0 7