可能最容易通过示例来解释:
在 Facebook 3.0 应用程序中,如果您单击朋友,它会在 UISegmentedControl 中显示“Wall | Info | Photos”,其作用类似于 UITabViewController。如果您然后单击照片,它会将子视图推送到 UINavigationController 堆栈,这会将 UISegmentedControl(和父视图)滑动到左侧。我将如何构建我的应用程序设计以促进这一点?
即它可能是:
- UIViewController(与 UISegmentedControl 包含三个项目(代表三个视图)
- ---UINavigationController
- --------UIViewController(即墙)
- ----------UIViewController(即对帖子的评论,被推入堆栈)
- ---UINavigationController
- --------UIViewController(即Info)
- ETC...
问题是,如果我按上述方式进行设计,如果用户单击帖子的评论(将评论视图推送到导航控制器的堆栈上),我将如何让 UISegmentedControl 与 Wall 视图一起滑开?这似乎不是最优的。
或者,我可以将 UISegmentedControl 作为子视图放置在每个 UINavigationControllers 中,但我不确定如何在 UINavigationControllers 之间移动它,因为用户在保持状态的同时在“选项卡”之间切换......
有没有更简单的方法来设计视图的布局?