[英]How to create a page based WatchKit app?
我正在嘗試創建一個基於頁面的WatchKit應用程序 。 當應用程序加載時,我希望在頁面上以分頁視圖顯示帶有圖像和按鈕的頁面,並且滑動應在圖像數組之間切換。
我嘗試了WKInterfaceController.reloadRootControllersWithNames(["home", "home", "home", "home", "home"], contexts: ["1", "2", "3", "4", "5"])
,其中home
是InterfaceController的標識符。 我正在從另一個InterfaceController調用此方法,InterfaceController是初始接口控制器。 我得到基於頁面的視圖,但初始視圖為空白。
import WatchKit
import Foundation
class InterfaceController: WKInterfaceController {
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
WKInterfaceController.reloadRootControllersWithNames(["home", "home", "home", "home", "home"], contexts: ["1", "2", "3", "4", "5"])
}
override func willActivate() {
// This method is called when watch view controller is about to be visible to user
super.willActivate()
}
override func didDeactivate() {
// This method is called when watch view controller is no longer visible
super.didDeactivate()
}
}
reloadRootControllersWithNames
方法創建基於頁面的應用程序正確嗎?
AppDelegate
類的入口點文件? 僅回答問題1:
我幾乎使用了您在此使用的技術創建了一個基於頁面的應用程序,只是我從willActivate()函數(而不是awakeWithContext()函數)調用了WKInterfaceController.reloadRootControllersWithNames()。 不知道這是否重要。
我假設“ home”是另一個WKInterfaceController的標識符? 我認為如果嘗試將啟動接口控制器用作頁面接口控制器,它將無法正常工作。 因此,這可能是問題的根源。
但是,僅當您的頁面數可變時,才需要使用這種以編程方式指定頁面的方法。 如果您在構建時就知道頁面布局,則可以將它們全部放在情節提要中,然后按住Control鍵並拖動另一個,選擇“下一頁”關系。
如果使用情節提要板進行操作,則可以將啟動界面控制器作為頁面的第一頁,然后,如果需要,后續界面控制器可以使用相同的類。
#2和#3的答案很簡單:您不能,至少在當前版本的WatchKit中不能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.