Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.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 根据检入视图控制器中的条件显示不同的视图_Iphone_Objective C_Xcode - Fatal编程技术网

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

Iphone 根据检入视图控制器中的条件显示不同的视图,iphone,objective-c,xcode,Iphone,Objective C,Xcode,我希望我的视图控制器根据一个条件显示不同的视图,该条件取决于一些运行时检查,例如偶数小时的uiwebview和奇数小时的表单。 在iphone项目中实现它的最佳模式是什么?也许我可以根据上述条件隐藏控件,或者加载不同的视图更好? 或者我应该加载不同的视图控制器,并在我的父视图控制器中进行检查?iPhone UI非常小且拥挤,通常最好为不同的UI创建不同的视图/视图控制器对。隐藏UI元素会留下非常明显的空白,手动动态地重新排列UI元素是一件痛苦的事情 更重要的是,不同的视图向用户传达应用程序处于不

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

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

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

让相同的用户操作呈现不同的用户界面,而用户却无法识别,这是非常糟糕的用户界面设计。例如,在偶数小时显示一个uiwebview,在奇数小时显示一个表单是一个非常糟糕的主意,因为用户不知道为什么有时候点击一个特定的按钮会得到一个web视图和表单视图。您是否希望用户在单击之前检查时钟,以便他们知道将发生什么


如果某个UI元素由于某些原因(例如没有网络访问)不可用,则更好的UI设计是将该元素显示为已禁用,而不是将其消失。界面语法告诉用户灰显控件暂时不可用。这比一个不断变化的用户界面要简单得多

这是一个明智的建议。如果我决定为每个屏幕使用单独的viewcontroller/视图对,我如何管理切换逻辑?我是否必须使用某种navigationcontroller在视图之间切换?对不起,我是cocoa touch世界的noob:/a导航控制器最容易使用,您不必实际显示它。要交换不同的视图,只需对您的状态进行测试,然后将当前状态的特定视图推送到导航控制器的堆栈上。