应该换掉UIView还是UIViewController?

时间:2012-09-22 18:53:50

标签: ios uikit

如果它是一个简单的应用程序,用户键入任何用户的名称,然后单击“开始”,然后将显示该用户在服务器上的公共信息,我想知道更换{是否是最佳做法{1}}或整个UIView是否被换出?

它是屏幕顶部应用的标签或横幅,带有用于输入任何用户ID的文本框和“开始”按钮。当用户键入任何用户名并点击“Go”时,应该有一个活动指示器(旋转轮),然后异步线程获取数据,完成后,用户名文本框和“Go”按钮将被用户的公共信息换出。应用程序的标签或横幅实际上始终位于屏幕顶部。 (占屏幕的25%)

交换子视图是最佳做法,还是整个ViewController换出时最佳做法? (无论哪种方式,最好用过渡动画)。如果应用程序稍后会被其他功能和屏幕扩展怎么办? (顺便说一下,如果通过UIView,可以使用UIViewController,而[UIView transitionWithView: ...],那么UIViewController最好处理它们吗?)

1 个答案:

答案 0 :(得分:0)

我认为这个案例确实没有明确的“最佳实践”。更重要的是您希望如何在应用中构建导航和一般用户体验。有时推送新的ViewController是有意义的,有时切换视图是有意义的。

根据我的经验,从同一个ViewController管理几个完全不同的视图可能会非常麻烦,特别是如果你想要一些整洁的过渡和自定义外观。 (我的意思是“视图”,因为在一个充满内容的屏幕中,视图具有完全不同的目的,如带有“Go”按钮和信息部分的文本字段等)

我建议你为它推一个新的ViewController。特别是如果稍后可能有新功能或新方式呈现用户信息。我还建议在页面上使用“开始”按钮显示活动指示符,并确保用户不会来回移动,除非有实际信息要显示。

另一个解决方案可能是在ViewController的视图顶部显示该横幅(听起来相当大,屏幕高度的25%),并在下面有一个分页滚动视图,其中textfield和go按钮位于第一页,用户点击GO它滚动到第二页以在那里显示信息。所以你会有两个UIView,一个用于scrollview中的每个页面。

但是,如果不知道有多少关于用户的信息,几乎不可能给出一个完美的答案:)

多数民众赞成我的2c。