Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 当条件变为真时,ios禁用后退按钮是否是一种良好的用户体验?_Iphone_Ios_User Interface_Ipod - Fatal编程技术网

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

Iphone 当条件变为真时,ios禁用后退按钮是否是一种良好的用户体验?,iphone,ios,user-interface,ipod,Iphone,Ios,User Interface,Ipod,我只是从“用户体验”的角度感兴趣,当某些条件变为真时,禁用后退按钮并使其显示另一个按钮是好的吗 示例I有3个视图A、B、C。开始时,条件=false。 我去A->B。我在B中改变了一些东西,条件变为真。在这种情况下,我想禁用返回视图A的可能性,并启用转到视图C的可能性 所以我的问题是我怎么做?隐藏后退按钮和在这个地方使出现按钮,使能够进入视图C?或者只需禁用“后退”按钮和“启用”按钮 我选择C?这不是导航控制器的好用途。像这样剥夺用户的控制权从来都不是一个好主意。允许他们以某种方式取消选择。这也

我只是从“用户体验”的角度感兴趣,当某些条件变为真时,禁用后退按钮并使其显示另一个按钮是好的吗

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

所以我的问题是我怎么做?隐藏后退按钮和在这个地方使出现按钮,使能够进入视图C?或者只需禁用“后退”按钮和“启用”按钮
我选择C?

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


在没有导航控制器的情况下,一种方法是在做出选择时显示一些以前隐藏的控件。查看设置应用程序,例如日期和时间,当做出选择时,它会显示更多的UI。

这对于导航控制器来说不是一个好的用途。像这样剥夺用户的控制权从来都不是一个好主意。允许他们以某种方式取消选择。这也不是导航控制器的正确比喻


在没有导航控制器的情况下,一种方法是在做出选择时显示一些以前隐藏的控件。查看设置应用程序,例如Date and Time,它在做出选择时会显示更多的UI。

正如@nevanking所说,我也认为这对用户来说不是一个好的体验,但是如果您需要它怎么办呢

如果您正在使用标题为“后退”或“转到c”的
ui按钮,那么您必须为特定条件保留其标签,因此在常见的
iAction
中,您可以检查特定条件并执行弹出或按下操作。即使您使用图像作为“返回”和“转到c”选项,也可以执行相同的操作

根据您的情况设置标签,
btn.tag=BACK\u按钮\u标签
btn.tag=按钮标签

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

请注意,您必须维护一叠按下的ViewControls,从C开始,您必须为用户提供PoptRoot(即A)或back(即B)选项,并且必须维护按钮状态。

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

如果您正在使用标题为“后退”或“转到c”的
ui按钮,那么您必须为特定条件保留其标签,因此在常见的
iAction
中,您可以检查特定条件并执行弹出或按下操作。即使您使用图像作为“返回”和“转到c”选项,也可以执行相同的操作

根据您的情况设置标签,
btn.tag=BACK\u按钮\u标签
btn.tag=按钮标签

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

请注意,您必须维护已按下的ViewControls堆栈,从C开始,您必须向用户提供PoptRoot(即A)或back(即B)选项,并且必须保持按钮状态。

否。用户希望按钮工作,而back就像一张安全网——它必须在那里

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


注意,在某些情况下,“后退”按钮在iOS中是可以接受的,但在左上角永远不会。只有当您有一个自定义UI(例如,一系列点)时,才会出现这种情况,并且早期的模式对访问不再有意义

不是。用户希望按钮起作用,而背面就像一张安全网——它必须在那里

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


注意,在某些情况下,“后退”按钮在iOS中是可以接受的,但在左上角永远不会。只有当您有一个自定义UI(例如,一系列点)时,才会出现这种情况,并且早期的模式对访问不再有意义

非常感谢,如果我按下控制器a(动画)->B(非动画)->C(动画),用户会感觉到他/她没有进入B。然后单击“上一步”,弹出到B(动画)。这是好的还是至少可以接受?如果不知道你的确切意思,很难回答。如果您正在谈论左上角工具栏上的“B(非动画)->C(动画),用户会有一种感觉,他/她没有在B中。然后单击“上一步”,弹出到B(动画)。这是好的还是至少可以接受?如果不知道你的确切意思,很难回答。如果您正在谈论左上角工具栏上的“