簡體   English   中英

如何隱藏導航欄后退按鈕?

[英]How to hide navigation bar back button?

我正試圖在Apple Watch上隱藏導航欄后退按鈕。 有許多類似於我的問題,但它們適用於iPhone,如果您對Apple Watch了解一點,那么有InterfaceController而不是ViewController。

所以當我使用下面的代碼推送一個新的InterfaceController時:

[self pushControllerWithName:@"about" context:nil];

它在上面的導航欄上顯示了一個后退按鈕,它將它帶回到生成它的前一個InterfaceController。

任何人都知道如何隱藏或刪除Apple Watch的導航欄或后退按鈕?

我遇到了同樣的問題並使用以下方法解決了

NSMutableArray* controllerNames = [NSMutableArray new];
[controllerNames addObject:@"myInterfaceController"];
[WKInterfaceController reloadRootControllersWithNames:controllerNames contexts:myArrayOfData];

當重新加載IC時,它們沒有導航后退按鈕,因為它們是主IC。

注意

此方法實際上更改了您的監視應用程序的Initial Controller (主界面控制器中帶箭頭的故事板。),這就是Interface Controller沒有后退按鈕的原因。

這是所有開拓者的Swift版本:

WKInterfaceController.reloadRootControllersWithNames(["myInterfaceController"], contexts: [])
+ (void)reloadRootControllersWithNames:(NSArray *)names contexts:(NSArray *)contexts;

但是你將失去'推'動畫。

如果刪除后退按鈕,您打算如何返回上一屏幕?

這是我對Apple Watch中導航按鈕的觀察:到目前為止,我們還沒有找到任何方法來覆蓋后退按鈕標題或刪除它。 即使他們提供了添加標題的選項,但無法自定義字體或任何內容。 最有可能當Apple發布原始版本時,他們將提供所有選項。

UIKit和WK-kit在UIKit中,您實際上可以使用hidesbackbutton屬性隱藏它,但在觀看時它會顯示以前的界面控制器標題。 在UIKit中,我們使用的是UIViewController,但在Watch中它是WKInterfaceController。

遺產

NSObject - > WKInterfaceController

NSObject - > UIResponder - > UIViewController

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM