uiview中addsubview,不显示加入的view

iOSLearn 2012-12-21 09:02:35
做了一个简单的addsubview例子

view中加入另一个view

viewController1.m

...
viewController2 *v2 = [[viewController2 alloc] init];

[self.view addsubView:v2.view]
...

并没有显示出v2.view

但是[[self.view subviews] count]却输出1,表示已加入

这是怎么回事

谢谢
...全文
616 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhsl 2012-12-27
  • 打赏
  • 举报
回复
view 总要设置rect吧,不然会是0,0,0,0
iOSLearn 2012-12-21
  • 打赏
  • 举报
回复
引用 5 楼 zhanglei5415 的回复:
可能是你的UITableView的frame设置不正确而导致的。你再检查一下。
我并没有设置frame 仅仅是一个默认的uitableviewcontroller 不过我是在view1下拉入了一个子view(子view只占页面的一部分),然后在这个子view内addsubview的 Tablecontroller *table = [[Tablecontroller alloc] init]; [self addChildViewController:table]; [[self.view viewWithTag:1] addSubview:table.view];
ReyZhang 2012-12-21
  • 打赏
  • 举报
回复
可能是你的UITableView的frame设置不正确而导致的。你再检查一下。
iOSLearn 2012-12-21
  • 打赏
  • 举报
回复
引用 3 楼 zhanglei5415 的回复:
storyboard的话,你初始化控制器就不能使用 viewController2 *v2 = [[viewController2 alloc] init]; 你这样初始化并不会通过storyboard来生成视图。 而是要用: UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainSt……
谢谢, 不过我加入了一个tabelview后,怎么这个tableview无法全部显示,超过屏幕的那部分,滑出来一点,就滑不动了,又回到了首行?
ReyZhang 2012-12-21
  • 打赏
  • 举报
回复
storyboard的话,你初始化控制器就不能使用 viewController2 *v2 = [[viewController2 alloc] init]; 你这样初始化并不会通过storyboard来生成视图。 而是要用: UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; viewController2 *v2=[storyboard instantiateViewControllerWithIdentifier:@"vc2"]; 如果这样来初始化的话就可以使用stroyborad设计的视图了。
iOSLearn 2012-12-21
  • 打赏
  • 举报
回复
引用 1 楼 zhanglei5415 的回复:
viewController2中有在-(void)loadView中初始化视图内容了吗? 如果有的话,应该会显示的吧
啥意思? 我用的是storyboard, 拉出来的viewcontroller2,我只是在storyboard中设置其background = 蓝色 然后viewController1中 [self.view addsubView:v2.view] 结果并没有显示蓝色
ReyZhang 2012-12-21
  • 打赏
  • 举报
回复
viewController2中有在-(void)loadView中初始化视图内容了吗? 如果有的话,应该会显示的吧

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧