有没有办法防止用户解雇模态控制器?
我认为在要求用户打开iPhone版本或在那里执行某些操作时,想要“阻止”主要的Watch App界面是很常见的。
我目前的解决方案是在控制器被解雇但又笨重时再次出现。
答案 0 :(得分:2)
有一种使用reloadRootControllers
解决此问题的方法。当您在情节提要中命名为reloadRootControllers(withNamesAndContexts:)
的名称来调用WKInterfaceController
时,其效果与模态呈现该控制器的效果类似。但是,由于它现在是 root 控制器,因此它没有取消按钮。我不是很喜欢,但是确实可以完成工作。
答案 1 :(得分:1)
答案 2 :(得分:0)
您无法阻止模态接口控制器被解雇,因为系统会在点击标题时自动解除它。
由于您的代码未被问及是否应该发生,但只知道它正在发生,因此无法拦截或取消该操作。 WKInterfaceController documentation简要介绍了这一点。
当用户点击标题字符串时,WatchKit会自动关闭模式界面而不采取任何进一步的操作。
你能做什么?
在don't know when the Cancel title is tapped a hack which "hides" the Cancel title时,有Human Interface Guideline。
这可能会让那些可能想知道如何解雇模式的用户感到困惑,或误导其他人认为该模式无法被解雇。
HIG推荐什么?
规避https://plnkr.co/edit/J8qc8221kal11BcPbALj?p=options可能会降低整个用户体验。
模态表的左上角是为“关闭”按钮保留的,它会取消界面。
如果
,某些用户可能会感到沮丧或恼火没有明显的取消方式,或
经过多次取消后,模态再次出现。
由于用户希望能够解除模态,也许您可以允许他们这样做,然后只需在呈现界面控制器中显示某种形式的提醒(登录或启用权限)。