美文网首页
添加第index个子控制器到并优化性能

添加第index个子控制器到并优化性能

作者: 小苗晓雪 | 来源:发表于2017-04-05 13:15 被阅读11次
    #pragma mark - 添加第index个子控制器到ScrollView上
    //一定要牢记!!! --> bounds是以自身的content内容的左上角为原点的!
    //    最终得到的结论就是: childView.frame = self.scrollView.bounds ;
    - (void)addChildViewControllerIntoScrollView:(NSInteger)index {
        //添加第index个子控制器:
        UIView *childView = self.childViewControllers[index].view ;
        //如果子控制器有父控制器 , 则说明子控制器已经被父控制器布局过一次了添加过一次了! 不用反复设置scrollView 的子视图的尺寸了!
        if (childView.superview) return ;
        //如果子视图被添加到了父视图上 , 则会有window , 如果有window就说明子视图已经布局过了 , 不用反复设置scrollView 的子视图的尺寸了!
        if (childView.window) return ;
        //还有一种方法是通过控制器来判断:如果控制器的view已经被加载过, 如果控制器的view已经调用过viewDidLoad方法 , 就返回 ;但是这句方法要在 添加第index个子控制器: UIView *childView = self.childViewControllers[index].view 这个方法之前 , 否则永远返回YES ;
        if (self.childViewControllers[index].isViewLoaded) return ;
        
        CGFloat scrollViewW = self.scrollView.width ;
        CGFloat scrollViewH = self.scrollView.height ;
        childView.frame = CGRectMake(index * scrollViewW, 0, scrollViewW, scrollViewH) ;
        [self.scrollView addSubview:childView] ;
        
    }
    

    愿编程让这个世界更美好

    相关文章

      网友评论

          本文标题:添加第index个子控制器到并优化性能

          本文链接:https://www.haomeiwen.com/subject/hwwtattx.html