根据视图控制器中检查的条件显示不同的视图

时间:2010-08-01 12:17:12

标签: iphone objective-c xcode

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

1 个答案:

答案 0 :(得分:0)

iPhone UI非常小且拥挤,通常最好为不同的UI创建不同的视图/视图 - 控制器对。隐藏UI元素会留下非常明显的空白,并且手动重新排列UI元素是一件痛苦的事。

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

使用相同的用户操作呈现不同的UI是非常糟糕的UI设计,用户无法辨别。例如,呈现“偶数小时的uiwebview和奇数小时的形式”将是一个非常糟糕的想法,因为用户不知道为什么点击特定按钮有时会让他们获得Web视图和其他时间的表单视图。您希望用户在点击之前检查时钟,以便他们知道会发生什么吗?

如果某些UI元素由于某种原因不可用,例如没有网络访问,那么更好的UI设计将元素呈现为禁用而不是消失它。界面语法教会用户灰显控件暂时不可用。对于不断变化的用户界面来说,这就更不容易了。