【发布时间】:2010-08-01 21:03:51
【问题描述】:
我希望我的视图控制器根据依赖于某些运行时检查的条件显示不同的视图(比如说偶数小时的 uiwebview 和奇数小时的表单)。 在 iphone 项目中实现它的最佳模式是什么?也许我可以根据上述条件隐藏控件,或者加载不同的视图更好? 或者我应该加载不同的视图控制器并在我的父视图控制器中进行检查?
【问题讨论】:
标签: iphone objective-c xcode
我希望我的视图控制器根据依赖于某些运行时检查的条件显示不同的视图(比如说偶数小时的 uiwebview 和奇数小时的表单)。 在 iphone 项目中实现它的最佳模式是什么?也许我可以根据上述条件隐藏控件,或者加载不同的视图更好? 或者我应该加载不同的视图控制器并在我的父视图控制器中进行检查?
【问题讨论】:
标签: iphone objective-c xcode
iPhone UI 非常小而且拥挤,通常最好为不同的 UI 创建不同的视图/视图控制器对。隐藏 UI 元素会留下非常明显的间隙,并且动态手动重新排列 UI 元素是一种痛苦。
更重要的是,不同的视图会向用户传达应用处于不同状态的信息。您不希望应用程序在不通知用户的情况下切换到不同的状态。他们很难理解正在发生的事情,而不会使他们与 UI 稍有混淆。
如果用户无缘无故地让相同的用户操作呈现不同的 UI,这是非常糟糕的 UI 设计。例如,呈现“偶数时间的 uiwebview 和奇数时间的表单”将是一个非常糟糕的主意,因为用户不知道为什么单击特定按钮有时会获得 Web 视图和其他时间的表单视图。您是否希望用户在点击之前查看时钟,以便他们知道会发生什么?
如果某些 UI 元素由于某种原因不可用,例如没有网络访问权限,那么最好的 UI 设计将元素显示为禁用而不是消失。界面语法告诉用户灰显的控件暂时不可用。与不断变化的 UI 相比,这更容易让人感到困惑。
【讨论】: