各位,有个问题想请教下,新手初学,对概念及层次还是一知半解。需求是这样的,在一个ViewController中,左侧竖排放几个按钮,点击某个按钮,右侧出现不同的ViewController内容。其实有点像IPAD上的SplitViewController的概念。左侧竖排放几个按钮,我会创建,但是右侧要显示不同的ViewController,我需要先创建一个什么容器呢(View?ImageView?)

解决方案 »

  1.   

    右面的是view 不是view controller 啊 至于怎么的view 你看你自己需求
      

  2.   

    所谓的  viewController  只是一个容器而已,容器不是你要呈现的东西。
    你可以只使用一个 viewController  然后里面放着 UILabel  UIButton UITableView UIScrollView ,你可以通过addsubview来管理的 如果你一定要多个 veiwController的话  你可以使用 navigation来管理的  
      

  3.   

    楼主可以添加几层view啊,点击不同的按钮可以把对应的view拉到前台
    或者也可以只使用创建的viewcontroller的view,原理同上。代码就不用贴了吧
      

  4.   

    是否是这个意思呢?self.view addSubview(viewController.view)然后我不同的布局用不同的ViewController设计?
      

  5.   

    第一感觉LZ貌似要做一个菜。如果app是支持iOS 5以上,建议LZ使用UIContainerView ,这样可以分离不同功能的view controller,使代码更加清晰。这有篇教程:http://danielbocksteger.wordpress.com/2012/09/17/uicontainerview-tutorial-teil-1/另外,建议lz同时使用storyboard,规划你的UI,Ray大神教程:
    http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1
      

  6.   

    self.view addSubview(viewController.view)然后我不同的布局用不同的ViewController设计?就这个意思,你试试
      

  7.   

    个人觉得滚动条的方法好些,点击按钮控制滚动条的位置就行了。也可以用addSubview
      

  8.   


    如何把某层View加载到最前面?
      

  9.   

    视图间的切换就需要你手动写代码来处理.你说的VC在整个过程中起到的作用是在各个视图控制器之间切换的桥梁.它可以理解为SwitchViewController.在点击其中的一个按钮时需要先移除现有的视图.
    -(void)removePreviousView {
      UIView *view=(UIView *)[self.view viewWithTag:123];
      if (view) {
         [view removeFromSuperView];
      }
    }
    添加视图的操作:-(IBAction) showView1:(id)sender {
         [self removePreviousView];
         viewController1 *vc1=[[viewController1 alloc] init];
         vc1.view.tag=123;
         [self.view addSubview:vc1];
         [vc1 release];
    }
      

  10.   

    这个怕是自己要定制view了吧
      

  11.   

    [self.view bringSubviewToFront:view];
      

  12.   

    去Github上搜HHTabListController   或许能帮助你
      

  13.   

    建议楼主先理清view和controller的关系..
      

  14.   

    右边用ViewController,好处是可以把相关逻辑封装到一个Controller里,左边用View或ViewController都可以,用ViewController的话,记得要添加到childViewController里