当条件为真时,ios 禁用后退按钮是不是是一种良好的用户体验?

Posted

技术标签:

【中文标题】当条件为真时,ios 禁用后退按钮是不是是一种良好的用户体验?【英文标题】:Is it a good user experience for ios to disable back button when a condition becomes true?当条件为真时,ios 禁用后退按钮是否是一种良好的用户体验? 【发布时间】:2013-08-23 08:32:51 【问题描述】:

我只是从“用户体验”的角度来看很有趣,禁用后退按钮并在某些条件变为真时使另一个按钮出现?

示例我有 3 个视图 A、B、C。一开始条件 = false。 我去 A -> B。我在 B 中改变了一些东西,条件变为真。在这种情况下,我想禁用返回视图 A 的可能性并启用转到视图 C 的可能性。

所以我的问题是我该怎么做?隐藏后退按钮并在此位置显示按钮,可以转到视图 C?或者只是禁用后退按钮并启用按钮 我去C?

【问题讨论】:

【参考方案1】:

这不是导航控制器的好用处。像这样从用户手中夺走控制权绝不是一个好主意。允许他们以某种方式取消他们的选择。这也不是导航控制器的正确比喻。

不使用导航控制器的一种方法是在做出选择时显示一些以前隐藏的控件。查看“设置”应用,例如日期和时间,当做出选择时会显示更多 UI。

【讨论】:

【参考方案2】:

正如@nevanking 所说,我也相信这对用户来说不是一个好的体验,但如果你需要它怎么办。

如果您使用标题为“Back”的UIButton,或者如果您的条件为“Go to c”,那么您必须针对特定条件维护其标签,因此通常IBAction 您可以检查特定条件并执行弹出或推送。即使您将图像用于“Back”和“Go to c”选项,您也可以这样做。

#define BACK_BUTTON_TAG 1
#define PUSH_BUTTON_TAG 2

请根据您的情况设置标签,btn.tag = BACK_BUTTON_TAG;btn.tag = PUSH_BUTTON_TAG;

-(IBAction) doWhatIChoose 
    if(btn.tag == BACK_BUTTON_TAG) 
        //pop to A
    else
        //push to C
    

请注意,您必须维护推送的视图控件堆栈,从 C 开始,您必须让用户选择 popToRoot(即 A)或返回(即 B)并且必须保持按钮状态。

【讨论】:

【参考方案3】:

没有。用户希望按钮能够工作,而 BACK 就像一个安全网——它必须在那里。

我通常不喜欢禁用按钮,但如果您使用它们,禁用按钮仅在您继续前进时才有意义,例如,下订单或进行一系列操作。

请注意,在某些情况下,“后退”按钮在 ios 中是可以接受的,但绝不会出现在左上角。仅当您有自定义 UI 时才会出现这种情况,例如,一系列点,并且更早的模式将不再具有访问意义。

【讨论】:

非常感谢,如果我推动控制器 A(animated)->B(not animated)->C(animated),让用户有一种感觉,他/她没有在 B 中。然后通过单击“返回”,弹回 B(动画)。它是好的还是至少可以接受? 如果不知道你的意思很难回答。如果您在谈论左上角工具栏上的“ 它不能是“

以上是关于当条件为真时,ios 禁用后退按钮是不是是一种良好的用户体验?的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript条件语句

仅当在 Android 中单击按钮后条件为真时才启动 Activity

Pine 脚本 - 当多个条件为真时输入位置

当 2 个条件为真时从 JSON 获取值

Javascript:<script src=jquery...仅当条件为真时

当地图的条件为真时,我只需要将结果分配给“值”