[iOS] 如何改变一个控制器的大小?

1.改变控制器的VIew大小?

这是只能改变控制器里面View的大小,并不会对控制器本身的显示做出视觉改变

2.改变控制的大小!

方法:

//重置控制器的大小
-(CGSize)preferredContentSize{
}

将此方法放在需要被改变的控制里面

2.1

具体使用情况:

1!可以用来改变ChildViewController的界面大小;

2.1.1

当一个容器ViewController的ChildViewController的这个值改变时,UIKit会调用preferredContentSizeDidChangeForChildContentContainer这个方法告诉当前容器ViewController。我们可以在这个方法里根据新的Size对界面进行调整。

2!可以用来改变popOver大小;

//重置本控制器的大小
-(CGSize)preferredContentSize{

    if (self.popoverPresentationController != nil) {
        CGSize tempSize ;
        tempSize.height = self.view.frame.size.height/2;
        tempSize.width  = 150;
        tempSize  = [_tableVIew sizeThatFits:tempSize];
        return tempSize;
    }else{
        return [super preferredContentSize];
    }

}

这里写图片描述

3. preferredContentSize 还可以用在何处?

3.1 这个还需要再去学习!!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐