在WatchKit中,从Modal视图调用presentControllerWithName将呈现视图固定为root

时间:2015-03-14 16:03:08

标签: ios watchkit

我有一个WKInterfaceController,其中包含WKInterfaceTable,可以调用

- (void)presentControllerWithNames:(NSArray *)names contexts:(NSArray *)contexts

以模态方式呈现2个分页控制器。如果我打电话

- (void)presentControllerWithName:(NSString *)name context:(id)context

来自其中一个控制器,或更具体地说

- (void)presentTextInputControllerWithSuggestions:(NSArray *)suggestions allowedInputMode:(WKTextInputMode)inputMode completion:(void (^)(NSArray* results))completion

然后关闭新呈现的控制器,我松开了演示模态控制器上的取消按钮。所以我无法回到根控制器。

1 个答案:

答案 0 :(得分:0)

您的问题有点难以理解,但我相信您遇到的问题的根本原因是您在另一个模态接口控制器之上呈现模态接口控制器,这不是您想要做的。您将遇到类似于Cancel按钮未出现的问题。

相反,我鼓励你跳出框框思考。如果您使用WKInterfaceController reloadRootControllersWithNames(_:contexts:)切换页面集,而不是在另一个模态上显示模态。那么你将不再有模态问题的模态。

总之,Watch Apps中的导航设计有点棘手,但如果遵循通用规则,通常可以很好地工作。

  • 仅使用分层或基于页面的布局系统
  • 不要在模态之上提供模态

希望这有助于解决问题。