2010-08-01 108 views
0

我希望我的视图控制器根据取决于某些运行时检查的条件(可以说是偶数小时的uiwebview和奇数小时的形式)显示不同的视图。 在iphone项目中实现它的最佳模式是什么?也许我可以隐藏基于上述条件的控件,或者加载不同的视图更好? 或者我应该加载不同的视图控制器,并在我的父视图控制器中进行检查?基于视图控制器中检查的条件显示不同视图

回答

0

iPhone用户界面非常小且拥挤,您通常最好为不同的用户界面创建不同的视图/视图 - 控制器对。隐藏用户界面元素会留下非常明显的空隙,并且在运行中手动重新排列用户界面元素是一种痛苦。

更重要的是,不同的视图向用户传达应用程序处于不同的状态。您不希望应用在不通知用户的情况下切换到其他状态。他们很难理解正在发生的事情,而不会将其与UI轻微混淆。

这是非常糟糕的UI设计有相同的用户行为提出了一个不同的用户界面无法识别的用户界面。例如,呈现“在偶数小时的uiwebview和在奇数小时的形式”将是非常糟糕的主意,因为用户不知道为什么点击特定按钮有时会让他们在其他时间看到web视图和表单视图。你希望用户在点击之前检查时钟,以便他们知道期望什么?

如果由于某些原因某些UI元素不可用,例如没有网络访问,那么更好的UI设计将元素呈现为禁用而不是消失。界面语法教导用户灰色控件暂时不可用。这是一个不断变化的用户界面的混乱。

+0

这是一个明智的提示。 如果我决定为每个屏幕使用单独的视图控制器/视图对,如何管理切换逻辑?我必须使用某种导航控制器在视图之间切换吗?对不起,我是可可触摸世界的小菜鸟:/ – adrin 2010-08-01 13:56:26

+0

导航控制器最容易使用,您不必实际显示它。换出不同的视图只需对你的状态进行测试,然后将当前状态的特定视图压入导航控制器的堆栈。 – TechZen 2010-08-01 14:33:45

相关问题