ios - 测试单独的tableViewController,present一个modalview,然后dissmiss掉,tableview变全屏

 宜宾开心花行 发布于 2022-11-06 01:20

controller(非全屏)里面presentModalViewController展开一个全屏的new view之后 貌似它外面的controller就会消失掉,dismiss之后presentModalViewController就会变全屏,
github上代码:
https://github.com/maintiendrai/widis...
帮忙解决下哦(这边说明下,rootview里面其实是可以直接加非单独的tableview的,但是为了跟ipad版共享代码,tableview我就用单独的controller)
ipad上不会有这种问题

1 个回答
  • - (void)viewDidAppear:(BOOL)animated
    {
    [self.view setFrame:CGRectMake(0, 92, 312, 359)];
    }
    结贴了,这个还是会闪一下,无法实现rootviewcontroller里面直接放tableview的效果

    我又来了,这个问题最后还是自己搞定了。可能自己对Custom Container View Controller的理解还不是很透彻
    现在viewdidload的时候多了这句
    [self addChildViewController:self.aloneController];
    搞定了。上面自定义controller里面的viewdidappear方法也可以去掉了

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        [self addChildViewController:self.aloneController];
        [self.view addSubview:self.aloneController.view];
        [self.aloneController.view setFrame:CGRectMake(0, 92, 312, 359)];
    }

    附上Custom Container View Controller的知识点:

    在iOS 5之前框架并不支持自定义 Container View Controller, iOS 5开始开放了一些新的接口来支持支持自定义容器

    addChildViewController:
    removeFromParentViewController
    transitionFromViewController:toViewController:duration:options:animations:completion:
    willMoveToParentViewController:
    didMoveToParentViewController:

    其中前两个接口比较重要,可以直接改变View Controller 的 Hierarchy。

    2022-11-12 01:48 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有