zoukankan      html  css  js  c++  java
  • addChildViewController后开启热点/wifi/打电话引起的子vc的布局问题

    使用下面的方法可以把一个vc加到另个vc里面

     

            [self addChildViewController:self.subVC];
            [self.view addSubview:self.subVC.view];
            self.subVC.view.frame = frame;
            [self.subVC didMoveToParentViewController:self];
    

      

    如果仅是上面这样处理,大部分情况下是没有问题的,一些特殊情况下subVC会出现布局问题。比如:先拨打电话,或者开启热点或wifi,并且有的别的设备连接,这时再启动app,发现状态栏上会多起一个打电话或热点的状态,挂断电话或关闭热点或wifi以后会发现subVC的view布局有问题,可以

    viewWillLayoutSubviews方法中重置subVC的frame 来解决问题。subVC最好用自动布局,这样即使打电话的过程中也能正常使用app
    - (void)viewWillLayoutSubviews{
        if (self.subVC) {
            self.subVC.view.frame = self.view.frame;
            [self.subVC viewWillLayoutSubviews];
        }
    }
    

      

  • 相关阅读:
    网络编程总结
    网络编程进阶---->>> hamc模块 socketserver模块验证合法性 两者进行通信连接
    黏包
    socket概念 套接字
    网络协议
    python之路——网络基础
    模块复习 staticmethod和classmethod的区别
    Dubbo执行流程?
    Dubbo在安全机制方面是如何解决的
    Dubbo中有哪些角色?
  • 原文地址:https://www.cnblogs.com/shanyimin/p/6144130.html
Copyright © 2011-2022 走看看