成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

WatchKit視圖轉(zhuǎn)換控制小結(jié)

移動(dòng)開(kāi)發(fā) iOS
對(duì)于WatchKit App,是可以在Storyboard里建立多個(gè)InterfaceController并像在iOS應(yīng)用一樣直觀的畫(huà)出視圖轉(zhuǎn)換連接的,當(dāng)然我們也可以通過(guò)視圖控制器代碼實(shí)現(xiàn)相應(yīng)視圖切換與跳轉(zhuǎn)。

[[134793]]

對(duì)于WatchKit App,是可以在Storyboard里建立多個(gè)InterfaceController并像在iOS應(yīng)用一樣直觀的畫(huà)出視圖轉(zhuǎn)換連接的,當(dāng)然我們也可以通過(guò)視圖控制器代碼實(shí)現(xiàn)相應(yīng)視圖切換與跳轉(zhuǎn)。

簡(jiǎn)單來(lái)說(shuō)視圖轉(zhuǎn)換連接有三種形式:

1.Push/Pop - 提供Hierarchical形態(tài)下基于棧(Stack)的視圖控制,Hierarchical意為分級(jí)視圖架構(gòu),效果類(lèi)似iOS應(yīng)用里的Navigation界面,主要用于導(dǎo)航類(lèi)的視圖轉(zhuǎn)換。首先必須有一個(gè)根視圖控制器,通過(guò)觸發(fā)Storyboard里拖拽生成pushSegue或用pushControllerWithNames:代碼將下一級(jí)視圖壓入(Push)堆棧并彈出時(shí),會(huì)在標(biāo)題欄前加上<左箭頭,點(diǎn)擊會(huì)返回上一級(jí)視圖,也可以執(zhí)行popController()代碼,而直接返回根視圖可以用popToRootController()。

2.Present - 與Push的方式比較類(lèi)似,會(huì)跳轉(zhuǎn)到一個(gè)Modal(模態(tài))視圖,區(qū)別是當(dāng)前視圖的控制器會(huì)被釋放并執(zhí)行didDeactivate方法,但我們?nèi)匀豢梢栽谀B(tài)視圖里點(diǎn)標(biāo)題欄或者在視圖控制器代碼調(diào)用dismissController()方法以重新激活上一個(gè)視圖。

3.Next page - 分頁(yè)視圖模式,多個(gè)視圖的橫向并列排列,左右掃會(huì)切換,下方有小圓點(diǎn)進(jìn)行標(biāo)識(shí)。現(xiàn)在很多iOS應(yīng)用啟動(dòng)時(shí)都有這種分頁(yè)導(dǎo)航用于操作方法或新功能的提示。Storyboard里按住control從視圖A拖到視圖B選擇next page可以建立此關(guān)系。

具體可以看下“WatchKit編程指南:WatchKit Apps--界面導(dǎo)航”這篇文章:

下面重點(diǎn)總結(jié)一些常見(jiàn)問(wèn)題與解決方法:

1.Q:主控制器為分頁(yè)視圖時(shí),無(wú)法push分級(jí)的視圖棧;主控制器為分級(jí)視圖時(shí),無(wú)法push分頁(yè)視圖。

A:Page-based與Stack模式是互斥的,因此必須使用模態(tài)方式進(jìn)行切換。主控制器為分頁(yè)視圖時(shí),要正確彈出一個(gè)分級(jí)視圖棧可以用presentControllerWithName:方法,而主控制器為分級(jí)視圖時(shí),要正確彈出單頁(yè)視圖,用

  1. presentControllerWithName:conext: 

方法,而彈出多個(gè)頁(yè)組成的分頁(yè)視圖,需要改為用

  1. presentControllerWithNames:contexts: 

方法。

2.Q:怎么在視圖間傳遞參數(shù)?

A: 利用context參數(shù)封裝參數(shù)對(duì)象,若在push模式下需要傳遞視圖控制器delegate,可參考本人之前翻譯的那篇“WatchKit的代理與上下文”文章。

3. Q: 定義了ForceTouch時(shí)的上下文菜單,結(jié)果切換視圖時(shí)再激活上下文菜單并點(diǎn)擊時(shí)報(bào)錯(cuò)說(shuō)視圖指針丟失。

A: 因?yàn)槟愦a里是在awakeWithContext:里定義的上下文菜單,然后用模態(tài)方式彈出,這樣切換視圖后原視圖被銷(xiāo)毀就無(wú)法正確調(diào)用了菜單內(nèi)容代碼。解決方法是:I.用push方式切換視圖,這樣主視圖存于視圖棧并不會(huì)銷(xiāo)毀對(duì)象;II.依舊用模態(tài)方式切換視圖,但把上下文菜單定義代碼放到willActivate()函數(shù)里,這樣菜單定義會(huì)重新加載不至于失效。

責(zé)任編輯:chenqingxiang 來(lái)源: CocoaChina
相關(guān)推薦

2014-11-20 15:44:40

Apple Watch

2015-01-21 16:35:49

Apple WatchWatchKit

2014-11-20 16:02:22

WatchKit

2015-10-21 13:57:09

WatchKit 要點(diǎn)開(kāi)發(fā)

2015-07-20 09:16:42

iOSWatchKit開(kāi)發(fā)

2015-08-13 10:15:02

WatchKitHealthKitApplePay

2015-04-14 09:33:17

WatchKitAPP

2015-06-30 10:48:41

iOSAPPwarchkit

2011-08-01 10:13:46

Xcode 視圖 動(dòng)畫(huà)

2011-07-07 16:14:37

Cocoa MVC 模型

2015-03-24 19:48:24

2010-06-18 12:38:38

UML狀態(tài)機(jī)視圖

2011-08-09 16:25:16

Cocos2d視圖坐標(biāo)

2019-07-30 08:42:54

網(wǎng)絡(luò)訪問(wèn)控制網(wǎng)絡(luò)地址轉(zhuǎn)換網(wǎng)絡(luò)

2011-09-01 12:42:09

SQL Server創(chuàng)建加密視圖控制視圖頁(yè)面的訪問(wèn)權(quán)限

2011-09-19 14:49:26

Vista控制面板

2011-09-01 12:53:02

SQL Server控制視圖頁(yè)面的訪問(wèn)權(quán)限

2011-06-22 13:07:37

MVC

2011-08-08 10:46:15

ASP.NET MVC

2011-03-17 17:45:45

iptables規(guī)則
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 欧美国产精品一区二区 | 99精品久久久久久 | 久久机热| 亚洲精品成人av久久 | 国产日产精品一区二区三区四区 | 亚洲福利av | 一区二区三区四区电影视频在线观看 | 久久免费视频网 | 91九色视频 | 91精品中文字幕一区二区三区 | 久久久久久久久国产精品 | 成人欧美一区二区三区在线观看 | 黄a在线播放 | 国产精品美女一区二区 | 久久久久久免费免费 | 国产激情视频网站 | 国产精品1区2区 | 九九亚洲 | 91久久| avhd101在线成人播放 | 秋霞影院一区二区 | 国产真实乱全部视频 | 国产精品国产精品国产专区不片 | 日韩中文字幕网 | 久草成人网 | 日本羞羞影院 | 午夜视频一区二区 | 成人精品国产免费网站 | 欧美一二精品 | 色综合美女 | 久久国产精品一区二区三区 | 久久久久久久久久爱 | 黄色一级电影免费观看 | 一区在线视频 | 求毛片 | 日韩电影中文字幕在线观看 | 91动漫在线观看 | 一本一道久久a久久精品蜜桃 | 久久国产一区二区三区 | 亚洲国产一区二区三区在线观看 | 成人一区二 |