AppleWatch開發(fā)入門(8)——動畫

本文章是一個系列,如果有興趣可以看看以下文章:
AppleWatch開發(fā)入門(1)——界面布局
AppleWatch開發(fā)入門(2)——代碼交互迹栓、控制器生命周期兑燥、界面跳轉(zhuǎn)
AppleWatch開發(fā)入門(3)——Table視圖的應(yīng)用
AppleWatch開發(fā)入門(4)——Picker視圖的應(yīng)用
AppleWatch開發(fā)入門(5)——Menu的使用
AppleWatch開發(fā)入門(6)——watchOS中通知的應(yīng)用
AppleWatch開發(fā)入門(7)——AlertController
AppleWatch開發(fā)入門(8)——動畫

一模狭、簡介

動畫一直是 iOS 系統(tǒng)的一大亮點缩焦,CoreAnimation 和粒子效果的支持,開發(fā)者可以很容易的做出效果炫酷的動畫特效娇未。在 watchOS 中墨缘,由于性能和屏幕尺寸的限制,對于動畫零抬,并沒有強大的框架支持镊讼,但是這并不是說開發(fā)者就沒辦法在 watch 上添加動畫的特效了。

二平夜、移動動畫

在 watch 中的移動動畫不像 iPhone 上那么復(fù)雜蝶棋,目前只支持水平、垂直移動忽妒,并且移動的距離是受限的玩裙。水平移動的距離是一個枚舉:leftcenter段直、right吃溅,也就是說你只能把控件移動到屏幕的左邊、中間鸯檬、右邊决侈,而不能控制具體移動到哪個位置;垂直方向移動的距離也一樣是枚舉:top喧务、center赖歌、bottom,這兩個枚舉如下:

@available(watchOS 2.0, *)
public enum WKInterfaceObjectHorizontalAlignment : Int {
    case left
    case center
    case right
}
@available(watchOS 2.0, *)
public enum WKInterfaceObjectVerticalAlignment : Int {
    case top
    case center
    case bottom
}

執(zhí)行動畫的方法如下:

// 第一個參數(shù)是動畫時間功茴,第二個參數(shù)是閉包庐冯,里面寫如何移動
@available(watchOS 2.0, *)
open func animate(withDuration duration: TimeInterval, animations: @escaping () -> Void)

代碼實現(xiàn)非常簡單:

@IBAction func startHorizontalAnimate() {
        // 水平移動到右邊
        animate(withDuration: 2) {
            self.image.setHorizontalAlignment(.right)
        }
}
水平移動
@IBAction func startVerticalAnimate() {
        // 垂直移動到底部
        animate(withDuration: 2) {
            self.image.setVerticalAlignment(.bottom)
        }
}
垂直移動

這里比較有趣,我只是把圖片往下移動了痊土,結(jié)果 button 自動移上去肄扎。

三墨林、幀動畫

和 iOS 類似赁酝,watchOS 中的幀動畫也是通過 UIImage 對象的合集來展示的。只是設(shè)置和用法略有不同旭等。
首先酌呆,watchOS 中幀動畫的操作被單獨封裝成了一個協(xié)議,當(dāng)然搔耕,WKInterfaceImage 類已經(jīng)遵守了這個協(xié)議的:

public protocol WKImageAnimatable : NSObjectProtocol {    
    //從默認幀開始播放動畫    
    public func startAnimating()    
    //播放一個指定范圍的幀動畫 NSRange是幀的范圍隙袁,durtion是播放一遍的時間痰娱,repeatCount是重復(fù)播放次數(shù),0為無限循環(huán)    
    public func startAnimatingWithImages(in imageRange: NSRange, duration: TimeInterval, repeatCount: Int)
    //停止播放動畫    
    public func stopAnimating()
}

創(chuàng)建幀動畫的步驟與一些注意:

  1. 關(guān)聯(lián)一個視圖中的 WKInterfaceImage 對象
  2. 所有幀動畫的圖片幀必須有統(tǒng)一的格式:比如 image1.png菩收,image2.png 等等
  3. 給 WKInterfaceImage 對象設(shè)置幀前綴:
image.setImageNamed("image")

注意:這里使用的方法和設(shè)置圖片的方法一樣梨睁,但是參數(shù)有別,圖片的設(shè)置需要完整的圖片名娜饵,動畫幀前綴的設(shè)置只要設(shè)置幀圖片的前綴坡贺,并且素材幀必須放入 watchKit App 這個 Target 中,才可以使用箱舞。

  1. 開始動畫
// range的location是圖片的起始張遍坟,length是圖片的總數(shù)
let range = NSRange(location: 1, length: 18)
image.startAnimatingWithImages(in: range, duration: 2, repeatCount: 0)
幀動畫
最后編輯于
?著作權(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)容