从“用户体验”的角度来看,我觉得有趣的是禁用后退按钮并在某些条件变为真时出现另一个按钮?
示例I具有3个视图A,B,C。在开始时条件=假。 我去A - > B.我改变B中的某些东西,条件成真。在这种情况下,我想禁用返回视图A的可能性并启用进入视图C的可能性。
所以我的问题是我怎么做到的?隐藏后退按钮并在此处显示按钮,即可进入视图C?或者只是禁用后退按钮和启用按钮 我去C?
答案 0 :(得分:3)
这对导航控制器不是很好用。将控制权从这样的用户手中夺走绝不是一个好主意。允许他们以某种方式取消他们的选择。它也不是导航控制器的正确比喻。
没有导航控制器的一种方法是在做出选择时显示一些先前隐藏的控件。在“设置”应用中查看,例如“日期和时间”,在选择时显示更多UI。
答案 1 :(得分:1)
正如@nevanking所说,我也相信这对用户来说不是一次好的体验,但无论如何你都需要它。
如果您使用标题为“后退”的UIButton
,或者您的条件为“转到c”,那么您必须为特定条件维护其标记,因此共同{{1您可以检查特定条件并执行弹出或推送。即使您使用“返回”和“转到c”选项的图像,也可以执行相同的操作。
IBAction
根据您的条件设置标记,#define BACK_BUTTON_TAG 1
#define PUSH_BUTTON_TAG 2
或btn.tag = BACK_BUTTON_TAG;
btn.tag = PUSH_BUTTON_TAG;
请注意,您必须维护一堆推送的viewcontrolles,从C中你必须给用户选择popToRoot(即A)或返回(即B)并且必须保持按钮状态。
答案 2 :(得分:1)
没有。用户期望按钮工作,而BACK就像一个安全网 - 它必须在那里。
我通常不喜欢禁用按钮,但是如果您使用它们,禁用按钮只会在您前进时进行,例如下订单或继续进行系列操作。
请注意,在某些情况下,iOS中可以接受“后退”按钮,但从不在左上角。这只有在您拥有自定义UI(例如,一系列点)时才会出现,而早期模式将无法再进行访问。