做了一个简单的addsubview例子view中加入另一个viewviewController1.m...
viewController2  *v2 = [[viewController2 alloc] init];[self.view addsubView:v2.view]
...并没有显示出v2.view但是[[self.view subviews] count]却输出1,表示已加入这是怎么回事谢谢

解决方案 »

  1.   

    viewController2中有在-(void)loadView中初始化视图内容了吗? 如果有的话,应该会显示的吧
      

  2.   


    啥意思?我用的是storyboard,拉出来的viewcontroller2,我只是在storyboard中设置其background = 蓝色然后viewController1中  [self.view addsubView:v2.view]结果并没有显示蓝色
      

  3.   

    storyboard的话,你初始化控制器就不能使用
    viewController2  *v2 = [[viewController2 alloc] init];
    你这样初始化并不会通过storyboard来生成视图。
    而是要用:
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    viewController2  *v2=[storyboard instantiateViewControllerWithIdentifier:@"vc2"];
    如果这样来初始化的话就可以使用stroyborad设计的视图了。
      

  4.   


    谢谢,不过我加入了一个tabelview后,怎么这个tableview无法全部显示,超过屏幕的那部分,滑出来一点,就滑不动了,又回到了首行?
      

  5.   

    可能是你的UITableView的frame设置不正确而导致的。你再检查一下。
      

  6.   


    我并没有设置frame仅仅是一个默认的uitableviewcontroller不过我是在view1下拉入了一个子view(子view只占页面的一部分),然后在这个子view内addsubview的    Tablecontroller *table = [[Tablecontroller alloc] init];
        [self addChildViewController:table];
        [[self.view viewWithTag:1] addSubview:table.view];
      

  7.   

    view 总要设置rect吧,不然会是0,0,0,0