addChildViewController 手动管理生命周期

举个例子:
有一个TabViewController类,里边有个scrollView,scrollview包含三个子控制器A、B、C。每个子控制器的宽度都是屏幕宽度,左右滑动可以切换控制器。
那么当tab由A切换到B的时候,是不会去调A的ViewWillDisappear的方法,也不会去调B的ViewWillAppear方法,因为左右滑动只是scrollview的contentOffset发生了变化而已。
那么如何在tab切换的时候页面能够自动的调用appear和diappear方法呢,要解决这一问题,我们可以使用手动管理子控制器生命周期的方法

1、在父类重写, return NO

  • (BOOL)shouldAutomaticallyForwardAppearanceMethods
    {
    return NO;
    }
  1. 在左右切换页面的时候,调用以下方法
    //先让A消失掉beginAppearanceTransition:NO 代表disappear,YES代表appear
     [A beginAppearanceTransition:NO animated:NO];
     [A endAppearanceTransition];
    
    //再让B显示出来
     [B beginAppearanceTransition:YES animated:YES];
     [B endAppearanceTransition];
    
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 选择题部分 1.(),只有在发生短路事故时或者在负荷电流较大时,变流器中才会有足够的二次电流作为继电保护跳闸之用。...
    skystarwuwei阅读 14,771评论 0 7
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,058评论 3 119
  • 好想找一个悠闲的下午, 和你一起度过手捧热咖啡的时光。 看着窗外黄昏的美好, 那是你微笑的样子。 最后成全悲伤的离...
    武小北阅读 1,580评论 3 2
  • 中研特膳减脂减肥招商:lyl585756 你有没有经常听到那些明明很瘦的女生说自己胖,需要减肥,那个瞬间真的怀疑自...
    情感书女色阅读 4,386评论 1 0
  • 记得我在一个职业生涯的直播课堂里听到了很多的干货,我就把他拿来分享一下吧。 行业发展,就像动车有航班和车次一样,是...
    换氧阅读 1,450评论 0 0

友情链接更多精彩内容