国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

WatchKit入門:創(chuàng)建一個(gè)簡(jiǎn)單的猜數(shù)游戲

移動(dòng)開發(fā)
Apple在2014年11月18日發(fā)布的Xcode 6.2 beta中首次內(nèi)置了WatchKit,該SDK可以讓開發(fā)者為Apple Watch創(chuàng)建應(yīng)用。要想為Apple Watch開發(fā)應(yīng)用,首先你需要一個(gè)蘋果開發(fā)者付費(fèi)賬號(hào),下載Xcode 6.2 beta。本教程的示例App使用Swift語(yǔ)言編寫,對(duì)Swift語(yǔ)言編程基礎(chǔ)有一定要求。

編者注:如你所知,Apple已在Xcode 6.2 beta上附帶了WatchKit SDK,讓開發(fā)者為Apple Watch創(chuàng)建應(yīng)用。您或許已經(jīng)開始嘗試用WatchKit開發(fā)App,如果還沒(méi)起手,本篇入門教程就是為您準(zhǔn)備的。這周Julo開發(fā)組的Julian會(huì)為您介紹WatchKit,展示如何利用它創(chuàng)建一個(gè)簡(jiǎn)單的猜數(shù)游戲,您將會(huì)了解如何創(chuàng)建Watch app,布局界面并測(cè)試應(yīng)用。

我們這就開始教程吧。

Apple在2014年11月18日發(fā)布的Xcode 6.2 beta中首次內(nèi)置了WatchKit,該SDK可以讓開發(fā)者為Apple Watch創(chuàng)建應(yīng)用。要想為Apple Watch開發(fā)應(yīng)用,首先你需要一個(gè)蘋果開發(fā)者付費(fèi)賬號(hào),下載Xcode 6.2 beta。本教程的示例App使用Swift語(yǔ)言編寫,對(duì)Swift語(yǔ)言編程基礎(chǔ)有一定要求。
 

[[130330]]

正片開始
 

了解WatchKit App

現(xiàn)在Apple尚不允許開發(fā)者創(chuàng)建原生Watch app,目前你可以構(gòu)建的三種Apple Watch 用戶體驗(yàn)分別是WatchKit app,Glance和可操作式通知(actionable notification)。本教程集中講解WatchKit app,暫不涉及Glance和通知。

首先,Watch app不是獨(dú)立的應(yīng)用,也就是說(shuō)在用戶iPhone上運(yùn)行的配對(duì)App必不可少,我們要構(gòu)建的Watch app只是iPhone app的擴(kuò)展,Watch app的安裝和管理由iPhone app負(fù)責(zé)。另外,iPhone app與Watch app可以相互溝通,不過(guò)本教程不涵蓋這部分內(nèi)容。

402.png

Apple Watch有38mm和42mm兩種屏幕尺寸,但不必分別設(shè)計(jì)用戶界面,Xcode會(huì)自動(dòng)調(diào)整布局,適應(yīng)屏幕尺寸。不過(guò)這里用的不是Auto Layout,而是WatchKit獨(dú)有的布局系統(tǒng)。

示例App

今天我們要為Apple Watch創(chuàng)建一個(gè)簡(jiǎn)單的猜數(shù)游戲,游戲規(guī)則如下:Watch app會(huì)先確定一個(gè)0到5之間的自然數(shù),讓玩家進(jìn)行猜測(cè),然后檢測(cè)玩家是否猜中,顯示相應(yīng)信息。App界面如下:

QQ截圖20150320104131.png

創(chuàng)建WatchKit示例應(yīng)用

我想你已經(jīng)裝好了Xcode 6.2 beta 4(或更新版本),請(qǐng)用Single View Application模板新建一個(gè)項(xiàng)目,命名為WatchKitDemo(隨意命名即可),選擇語(yǔ)言為Swift,其他設(shè)置原封不動(dòng),項(xiàng)目保存在你喜歡的地方。

watch-kit-new-project.png

之前講過(guò),Watch app是iPhone app的擴(kuò)展,要想創(chuàng)建Watch app,請(qǐng)?jiān)赬code菜單上選擇Editor > Add Target,然后選擇Apple Watch > WatchKit App,構(gòu)建Watch app必需的一切都可以用WatchKit App模板自動(dòng)生成。

watch-kit-target.png

取消選擇Include Notification Scene,其他選項(xiàng)不變,點(diǎn)擊Finish,然后會(huì)彈出提示詢問(wèn)是否激活新方案(scheme)。

watch-kit-warning.png

點(diǎn)擊Activate,即在Xcode項(xiàng)目中添加新方案,該方案可在Apple Watch模擬器中測(cè)試App。在項(xiàng)目導(dǎo)航欄中可以看到兩個(gè)新加的文件夾:WatchKit Extension還有WatchKit App。

watch-kit-new-folder.jpg

WatchKit app僅包含Storyboard和用戶界面相關(guān)資源,而負(fù)責(zé)應(yīng)用邏輯、更新界面的代碼位于WatchKit extension。簡(jiǎn)而言之,Watch app提供展現(xiàn)信息的視圖、與用戶交互,而挑重?fù)?dān)的是iPhone app。

#p#

設(shè)計(jì)用戶界面

現(xiàn)在我們開始設(shè)計(jì)Watch app的用戶界面。選擇WatchKitDemo WatchKit App下的Interface.Storyboard文件,與iOS app類似,Xcode提供Storyboard來(lái)為Watch app設(shè)計(jì)用戶界面。

首先向界面控制器(Interface Controller)中拖入一個(gè)文本標(biāo)簽(Label),你會(huì)發(fā)現(xiàn)它自動(dòng)定位到視圖控制器的頂部,這是因?yàn)锳pple Watch屏幕尺寸很小,界面控制器被分為上(TOP)、中(CENTER)、下(BOTTOM)三大區(qū)域。現(xiàn)在選中文本標(biāo)簽,在屬性檢查器的Position欄下可以設(shè)置橫縱位置,把Horizontal和Vertical都設(shè)為Center。

然后把文本改為“Your guess is: 3”,如圖:

watchkit-demo-label.jpg

接下來(lái)我們要讓用戶修改猜想的數(shù)字,向界面中拖入一個(gè)滑動(dòng)條(Slider),然后如圖修改滑動(dòng)條屬性:

watchkit-slider.png

由于猜數(shù)在0到5之間,設(shè)步長(zhǎng)(steps)為5,這樣滑動(dòng)條就被分成了5格,每格代表一個(gè)數(shù)字。我們想讓3作為默認(rèn)數(shù)字,設(shè)值(value)為0.6,最小值(minimum)為0,最大值(maximum)為1。

設(shè)置完畢后,從對(duì)象庫(kù)拖入一個(gè)按鈕(Button),設(shè)標(biāo)題為Guess,將垂直位置設(shè)為Center。

要構(gòu)建完整的界面,我們還需要一個(gè)文本標(biāo)簽,用來(lái)顯示用戶猜測(cè)結(jié)果是否正確。向視圖中拖入一個(gè)Label,設(shè)文本為“Press Guess to play”,然后修改垂直位置為Bottom,設(shè)字體的Min Scale(最小比例)為0.5,讓文本適應(yīng)較窄的空間。最終設(shè)計(jì)如下:

QQ截圖20150320104842.png

代碼時(shí)間

好,搭完界面,開始寫代碼吧。前面說(shuō)過(guò),程序邏輯在WatchKit Extension中。InterfaceController.swift已經(jīng)關(guān)聯(lián)剛剛設(shè)計(jì)完的Interface Controller。

打開源碼文件,為文本標(biāo)簽和滑動(dòng)條分別創(chuàng)建outlet,然后在InterfaceController類中添加以下代碼:

 

  1. @IBOutlet var guessSlider: WKInterfaceSlider!         // the slider  
  2. @IBOutlet var guessLabel: WKInterfaceLabel!     // the label displaying the guess number  
  3. @IBOutlet var resultLabel: WKInterfaceLabel!    // Wrong/Correct Label 

 

然后是這行代碼,創(chuàng)建猜測(cè)數(shù)字的變量:

 

  1. var guessNumber = 3 

 

項(xiàng)目基礎(chǔ)設(shè)施創(chuàng)建完成,現(xiàn)在把界面元素連接到相應(yīng)的outlet。切回Interface.storyboard,開啟輔助編輯器,顯示剛剛在寫的代碼文件,然后分別連接outlet和相應(yīng)控件。

22.png

現(xiàn)在按住control從滑動(dòng)條拖到代碼上,這次不是IBOutlet,選IBAction,命名為updateGuess。


 

24.png

會(huì)自動(dòng)添加如下函數(shù):

  1. @IBAction func updateGuess(value: Float) { } 

該方法將用于獲取用戶猜測(cè)的數(shù)字并更新文字提示,在其中插入這兩行代碼:

  1. guessNumber = Int(value * 5)  
  2. guessLabel.setText("Your guess: \(guessNumber)"

由于之前滑動(dòng)條取值范圍被設(shè)為0到1,取值乘5所得才是我們實(shí)際需要的數(shù)字,隨后更新文本標(biāo)簽。

按住control從按鈕拖到代碼,再創(chuàng)建一個(gè)action方法,命名為startGuess,該方法生成一個(gè)隨機(jī)數(shù)并與猜測(cè)數(shù)進(jìn)行比較,并更新提示內(nèi)容,代碼如下:

  1. @IBAction func startGuess() {  
  2.     var randomNumber = Int(arc4random_uniform(6))  
  3.        
  4.     if(guessNumber == randomNumber) {  
  5.         resultLabel.setText("Correct. You win!")  
  6.     } else {  
  7.         resultLabel.setText("Wrong. The number is \(randomNumber)")  
  8.     }  

代碼中首先使用arc4random_uniform(6)函數(shù)生成一個(gè)0到5的隨機(jī)數(shù),然后進(jìn)行比較,顯示結(jié)果。

搞定。可以測(cè)試App了。

運(yùn)行Watch App

要想運(yùn)行App,請(qǐng)選擇“WatchKitDemo WatchKit App”方案,然后指定運(yùn)行設(shè)備,點(diǎn)擊運(yùn)行按鈕測(cè)試應(yīng)用。在模擬器中還可以由Hardware > External Displays > Apple Watch - 38mm切換屏幕尺寸。

watchkit-simulator.jpg

不錯(cuò)吧?WatchKit初上手感覺(jué)如何?此處可以下載項(xiàng)目文件,以供參考。(譯注:下載鏈接源為Dropbox,中國(guó)大陸需要翻墻。)

原作者:julian engel  譯者:@TurtleFromMars
 

原文:WatchKit Introduction: Building a Simple Guess Game

責(zé)任編輯:林師授 來(lái)源: appcoda
相關(guān)推薦

2019-09-23 09:11:02

Python文本編輯器操作系統(tǒng)

2023-02-07 10:40:30

gRPC系統(tǒng)Mac

2009-08-19 04:14:00

線性鏈表

2021-02-05 16:03:48

JavaScript游戲?qū)W習(xí)前端

2021-01-01 19:30:21

Python編程語(yǔ)言

2009-09-11 09:11:09

2021-01-03 16:30:34

Rust編程語(yǔ)言

2021-01-14 08:55:20

C語(yǔ)言編程

2011-07-28 15:07:23

iOS猜數(shù)游戲

2011-04-08 10:29:04

AccessMIS管理系統(tǒng)

2023-04-04 09:15:10

NAPI 框架鴻蒙

2021-04-22 09:57:37

Random方法游戲

2011-03-15 19:45:27

Windows Azu

2013-02-20 14:13:42

移動(dòng)游戲十三歲

2014-11-20 16:02:22

WatchKit

2021-01-05 12:38:53

C++編程語(yǔ)言軟件開發(fā)

2011-03-24 09:34:41

SPRING

2023-02-27 09:31:00

streamlitst.sidebar菜單

2018-11-22 14:09:45

iOS架構(gòu)組件開發(fā)

2020-11-09 06:38:00

ninja構(gòu)建方式構(gòu)建系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产精品免费视频一区| 成人精品国产亚洲| 欧美一区二三区| 国产成人啪免费观看软件| 综合图区亚洲| 噜噜噜噜噜久久久久久91| 色综合久久久久综合| 久久精品国产68国产精品亚洲| 日韩欧美国产片| 欧美国产高跟鞋裸体秀xxxhd| 国产成人精品亚洲777人妖| 自拍网站在线观看| 日韩国产小视频| 这里只有精品在线观看| 福利一区二区在线观看| 国产精品扒开腿做爽爽爽视频软件| 婷婷精品国产一区二区三区日韩| 91精品国模一区二区三区| 亚洲欧美久久| 日本蜜桃在线观看| 国产日韩三区| 在线免费亚洲电影| 色综合影院在线| 日韩免费视频一区| 精品视频—区二区三区免费| 欧美激情a∨在线视频播放| 成人在线看片网站| 九九热视频这里只有精品| 国产人伦精品一区二区| 试看120秒一区二区三区| 国产一级不卡毛片| 91av在线影院| 污片在线观看一区二区| 国产国产精品| 麻豆影院在线| 日本精品免费视频| 久久福利视频网| 亚洲精品国产一区二区精华液| 成人无号精品一区二区三区| 经典三级在线| 麻豆av一区二区| 亚洲美女av电影| 91亚洲国产成人精品一区二区三| 精品国产麻豆| 午夜成在线www| 国产精品我不卡| 亚洲国产精品成人av| 91热门视频在线观看| 免费一区二区| 淫片在线观看| 黄色特一级视频| 久久久久国产精品一区| 亚洲国产日韩a在线播放| 影音先锋亚洲精品| 黑人巨大精品| 涩涩视频免费网站| av一区观看| 日韩成人av网| 欧美国产综合一区二区| 久久久影院免费| 黄色影院在线看| 少妇激情一区二区三区| 91精品视频网站| 亚洲精品99久久久久中文字幕| 久久久夜色精品亚洲| 天天久久综合| 忘忧草在线日韩www影院| 亚洲欧美日韩一级| 国产精品国产精品| 日韩网站免费观看| 午夜精品久久久久久久久久久| 日日摸夜夜添夜夜添国产精品| 国产不卡精品在线| 毛片免费在线| 中文字幕欧美日韩一区二区三区| 久久青草精品视频免费观看| 欧美日韩一区成人| www国产成人免费观看视频 深夜成人网| 成人无号精品一区二区三区| av在线最新| 成人综合av| 一区二区三区偷拍| 国产精品99免视看9| 亚洲激情视频在线播放| 国产精品乱码一区二三区小蝌蚪| 在线播放日韩| 国产 日韩 欧美 综合 一区| 欧美一级二级三级区| 日本成年人网址| 久久福利精品| 亚洲一区二区影院| 黄网站app在线观看下载视频大全官网 | 日韩女优毛片在线| 国产精品传媒视频| 日本不卡高清视频| 欧美一级精品| 国产黄色精品| 久操视频在线| 午夜激情影院| 无码人妻丰满熟妇区96| 成人自拍爱视频| 国内精品久久久久久| 亚洲第一天堂无码专区| 精品女厕一区二区三区| 久久综合五月天婷婷伊人| 久久国产日韩| 欧美韩日一区| 粉嫩一区二区三区在线观看| 成人区精品一区二区不卡| 国产主播色在线| 玩弄中年熟妇正在播放| 欧美极品日韩| 川上优av一区二区线观看| 欧美精品福利视频| 亚洲天堂男人天堂| 337p亚洲精品色噜噜狠狠| 亚洲精品免费一二三区| 99久久免费视频.com| 免费国产亚洲视频| 国内久久视频| 成人短片线上看| 粉嫩的18在线观看极品精品| sm性调教片在线观看| chinese偷拍一区二区三区| 91麻豆福利| 亚洲欧洲日产国码无码久久99| 日韩精品资源| 国产一区自拍视频| 国产精品中文久久久久久久| 欧美国产日本在线| 一区二区三区精品99久久| 欧美变态tickling挠脚心| 欧美色图在线视频| 一区二区三区国产豹纹内裤在线| 久久人人97超碰com| 高清日韩电视剧大全免费| 久久精品国产精品亚洲红杏 | 国产91精品一区二区麻豆网站| 国产精品入口66mio| 欧美成人久久| 欧美精品羞羞答答| 国产精品99久久免费观看| 日韩免费大片| 成人深夜福利| 中文字幕在线看片| 高清精品在线| 理论片午夜视频在线观看| 狂野欧美激情性xxxx欧美| 成人免费网址| 在线中文字幕-区二区三区四区| 成全电影播放在线观看国语| 李宗瑞系列合集久久| av高清在线| 午夜影院观看视频免费| 可以看美女隐私的网站| 国产免费视频| jlzzjlzz欧美大全| 成人综合av| 最近2018中文字幕免费在线视频| 亚洲一级免费在线观看| a在线观看免费视频| 亚洲欧洲日本精品| 国内外成人免费在线视频| 国产精品区在线| 成视频免费在线看| 捆绑紧缚一区二区三区在线观看| 爱草在线视频| 国产美女极品在线| 黄色小视频在线观看| 午夜伦全在线观看| 污视频在线看网站| 国模冰冰炮一区二区| 久久天天久久| 2021年精品国产福利在线| 欧美人妖视频| 欧美激情偷拍自拍| 99成人精品| 国内精品伊人久久久久av影院| 大胆亚洲人体视频| 国产精品天天摸av网| 亚洲国产综合91精品麻豆| 狠狠久久亚洲欧美专区| 欧美日韩在线免费视频| 3751色影院一区二区三区| 亚洲国内精品视频| 日韩视频在线免费观看| 欧美一级视频在线观看| 成人av.网址在线网站| 国产伦精品一区二区三区免| 日韩理论片在线观看| 91午夜在线观看| 色偷偷亚洲第一成人综合网址| 中文字幕视频在线| 超碰在线caoporen| 少妇精品视频一区二区免费看| 日本精品在线观看| 97精品视频| 久久国产精品区| 国产清纯白嫩初高生在线观看91 | 日本不卡视频在线|