iOS开发中文社区 门户 iOS开发 Swift交流 查看内容

关于一个控制器view直接添加另一个控制器的view

2018-9-12 12:09| 发布者: admin| 查看: 266| 评论: 13|原作者: baibijia

摘要: 打上全局断点,在控制器的- (void)viewDidLoad方法里添加另一个控制器的view的view为子视图是,跑程序是会卡在self.setVC = ; ;这里。有大佬知道是为什么吗??只是卡在这里。没有崩溃! ... ... ... ...
打上全局断点,在控制器的- (void)viewDidLoad方法里添加另一个控制器的view的view为子视图是,跑程序是会卡在self.setVC = [SettingViewController new];

[self.view addSubview:_setVC.view];这里。有大佬知道是为什么吗??只是卡在这里。没有崩溃!

惊呆

大哭

感动

晕倒

口水
收藏 分享 邀请

最新评论

已有 13 人参与
全部评论(13)
引用 wuminlao 2018-5-31 23:10
还是跟上面代码描述的一样,会卡住,但是可以继续跑,不知道原因是什么? 5.gif 我全局断点模式改成obj-c模式,就不会卡住,缓存all模式就卡住了。
引用 zzla325 2018-5-31 23:44
你可以把这个view抽出来啊。。。
引用 kshin 2018-5-31 23:50
试过了,还是一样的。后面我把[self.view addSubview:self.setVC.view]; 方法不写在- (void)viewDidLoad方法里就不会了。不知道什么原因
引用 zsc_2305 2018-6-1 00:31
我这边做的是一个抽屉,在rootVC控制器里- (void)viewDidLoad方法里加了3个子控制器- (void)viewDidLoad,其中rootVC和leftVC和navVC是在sb里实现的布局。rightVC是xib写的布局。
源码==========================↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ ========================================
//实例化左侧抽屉视图
    self.leftVC = [self.storyboard instantiateViewControllerWithIdentifier:@"LeftViewController"];
    //实例化右侧抽屉视图
    self.rightVC = [RightViewController new];
    //实例化主视图
    self.navVC = [self.storyboard instantiateViewControllerWithIdentifier:@"NavigationViewController"];//重点
    [self addChildViewController:self.navVC];//重点
    [self addChildViewController:self.leftVC];
    [self addChildViewController:self.rightVC];
    //设置左侧视图的大小和显示
    self.leftVC.view.frame = CGRectMake(0, 0, REIGHTWIDTH, HEIGHT);
    //设置右侧视图的大小和显示
    self.rightVC.rootVC = self;
    //设置主视图的大小和显示
    self.navVC.view.frame = self.view.bounds;
    //顺序不能变,顺序很重要,
    [self.view addSubview:self.leftVC.view];
    [self.view addSubview:self.rightVC.view];
    [self.view addSubview:self.navVC.view];//重点
=============================================================

这些代码都是在rootVC的- (void)viewDidLoad方法里写的,打上全局断点,运行时会卡在[self.view addSubview:self.rightVC.view];这句话这里。不知道为什么。这个不能方便迁移到其他方法里。大佬知道这种问题的原因是什么吗?
引用 yoyosuka 2018-6-1 01:43
不管是模拟器还是真机,都不会奔溃。但是会卡在  [self.view addSubview:self.rightVC.view];这句代码这里。现在我把这句代码放到别的方法里调用了!就没有不会卡住了!只是不知道什么原因。应为没有奔溃信息打印 10.gif
引用 scroot 2018-6-1 02:00
2.gif    没人碰到吗?
引用 jasonyang 2018-6-1 02:05
打上全局断点,在控制器的- (void)viewDidLoad方法里添加另一个控制器的view的view为子视图是,跑程序是会卡在self.setVC = [SettingViewController new];
   
    [self.view addSubview:_setVC.view];这里。有大佬知道是为什么吗??只是卡在这里。没有崩溃!
引用 sdfasdfhfgt 2018-6-1 02:18
请问楼主 解决了嘛?
如果解决了, 希望可以将 解决方法附上,
或者 如果您有时间 可以加我QQ (839573528) 一起探讨一下,
不会占用您的工作时间, 谢谢
引用 yyggyy1234 2018-6-1 02:44
我这个不会奔溃,只是会卡住。可以继续跑的。就是不知道是什么原因
引用 yli 2018-6-1 02:55
那你用真机试试看什么效果
引用 gty123 2018-6-1 04:12
把setvc设为self的子控制器呢
self.setVC = [SettingViewController alloc]init];
[self addChildViewController:self.setVC];
    [self.view addSubview:self.setVC.view];
引用 tsingray 2018-6-1 04:20
我的意思是真机上会正常运行吧?
引用 xixixixixixixii 2018-6-1 05:19
你是不是视图的storyboardID写错了,导致初始化失败?还有我之前做过的childViewController都是用transitionFromViewController切换页面的,你这个一次性加三个上去的我没做过。我刚写了下一个子VC这样不会崩。
关于我们
关于我们
友情链接
联系我们
帮助中心
精贴推荐
源码上传
注册登录
服务支持
资源下载
关注我们
官方微博
官方空间
返回顶部