Iphone 同一窗口上的三个UIViewController 我想开发下面的应用程序:在上面我有一个导航栏,中间有一个TabelVIEW控制器,在底部有一个自定义控件,它实际上是一个滑块(当我移动滑块时,我想展示另一个TabelVIEW控制器——但是我的导航栏保持不变)。当我在TableView中选择一个单元格时,我想推送一个新的ViewController(因此我将更改导航栏),并且我还将关闭我的自定义控件。我已经附上了我的应用程序原型的图片。你认为我应该如何实现这一点?我的自定义控件是使用IB设计的,因此我认为应该使用旧方法,使用.xib文件,而不是脚本。

Iphone 同一窗口上的三个UIViewController 我想开发下面的应用程序:在上面我有一个导航栏,中间有一个TabelVIEW控制器,在底部有一个自定义控件,它实际上是一个滑块(当我移动滑块时,我想展示另一个TabelVIEW控制器——但是我的导航栏保持不变)。当我在TableView中选择一个单元格时,我想推送一个新的ViewController(因此我将更改导航栏),并且我还将关闭我的自定义控件。我已经附上了我的应用程序原型的图片。你认为我应该如何实现这一点?我的自定义控件是使用IB设计的,因此我认为应该使用旧方法,使用.xib文件,而不是脚本。,iphone,ios,xcode,uiviewcontroller,Iphone,Ios,Xcode,Uiviewcontroller,你真的是说独立的视图控制器吗?您描述的所有内容都可以通过视图处理,并且与所有最新版本的iOS兼容 如果您真的希望屏幕的3个部分使用单独的视图控制器,那么您只能在iOS 5(或更高版本)下这样做。从iOS 5开始,视图控制器可以包含其他“子”视图控制器。您可以创建自己的容器视图控制器 查看addChildViewController方法:将视图控制器设置为当前视图控制器的子级。首先添加所有子视图,然后将其内容视图添加为父视图控制器的子视图 在我看来,您可能需要一个导航控制器,它的根视图控制器是一个

你真的是说独立的视图控制器吗?您描述的所有内容都可以通过视图处理,并且与所有最新版本的iOS兼容

如果您真的希望屏幕的3个部分使用单独的视图控制器,那么您只能在iOS 5(或更高版本)下这样做。从iOS 5开始,视图控制器可以包含其他“子”视图控制器。您可以创建自己的容器视图控制器

查看addChildViewController方法:将视图控制器设置为当前视图控制器的子级。首先添加所有子视图,然后将其内容视图添加为父视图控制器的子视图


在我看来,您可能需要一个导航控制器,它的根视图控制器是一个具有多个子视图控制器的容器视图控制器。如果要交换其中一个子视图控制器,请使用transitionFromViewController:toViewController:duration:options:animations:completion:切换子视图控制器。

我不确定是否需要单独的视图控制器。我知道我想使用我的CustomControl(滑块)来交换中间的TableView,当我按下TableView中的单元格时,我想按下一个新的ViewController(因此我想通过添加“后退按钮”来更改导航栏)。你是说我可以使用addChildViewController为我的两个子视图(TableView和CustomControl)添加两个视图控制器?实际上,我想我需要一个导航控制器和一个表视图控制器。因为我可以将我的导航控制器设置为我的CustomControl(基本上是UIControl的子类)的Delegate。因此,当我按下TableView中的单元格时,我将执行推送操作,但我如何才能从中间交换TableViewCotnroller,同时仍将CustomControl保留在窗口底部?@Cosmin您根本不需要交换Table View控制器。只需使用现有的表视图控制器,并告诉表视图使用[[self tableView]reloadData]重新加载其数据。然后,让您的UITableViewDataSource提供新的一天而不是旧的一天的数据。是的,但我希望在这样做时产生过渡效果。如果我只重新加载数据,这可能吗?