Ios 调整tabbarcontroller中所有viewcontroller框架的大小

Ios 调整tabbarcontroller中所有viewcontroller框架的大小,ios,uitabbarcontroller,Ios,Uitabbarcontroller,我有一个装有4个控制器(导航控制器)的UITABBARC控制器。现在我想更改所有4个控制器视图的帧,所以 这方面的最佳做法是什么 注: UITabBarController将始终重置其容器视图的框架,因为它将尝试将它们调整到其容器视图边界。您可以通过创建自定义选项卡栏控制器来实现这一点 请查看下面的屏幕截图,了解如何创建自定义tabbar以满足您的要求 以这种方式创建tabbar并更改容器的框架大小后,它将如我在下一个屏幕截图中所示。您可以根据自己的需要通过编码更改容器框架大小 我解决了问题并

我有一个装有4个控制器(导航控制器)的UITABBARC控制器。现在我想更改所有4个控制器视图的帧,所以 这方面的最佳做法是什么

注:
UITabBarController将始终重置其容器视图的框架,因为它将尝试将它们调整到其容器视图边界。

您可以通过创建自定义选项卡栏控制器来实现这一点

请查看下面的屏幕截图,了解如何创建自定义tabbar以满足您的要求

以这种方式创建tabbar并更改容器的框架大小后,它将如我在下一个屏幕截图中所示。您可以根据自己的需要通过编码更改容器框架大小


我解决了问题并维护了本机UITabBarController:

由于UITabBar控制器将强制视图控制器的大小为其边界,因此我动态更改了UITabBar origin.y(
tabBar.origin.y-=reduced size
)和size.height
tabBar.size.height+=reduced size
),从而强制视图控制器的容器框架变小

然后,为了保留随意的选项卡栏设计,对于选项卡栏中的每个uitabaritem,我按下了imageInset


这样,就不需要通过图层更改观察员或任何其他类似方法强制更改tabBarController中多个ViewController视图的帧

那么你为什么要调整它们的大小呢?通常你不会这么做,但既然你想这么做,那么tabBarController的所有控制器都是相同大小的吗?@JigneshAgola是的,它们的大小都一样。在tabbarcontroller.viewcontrollers中循环时,我可以设法调整它们的大小,但我无法阻止tabbarcontroller强制将它们调整回其容器边界。@Wain这是一个实验目的。在现实世界中如何使用它?这会起作用,但我需要保留UITabBarController类。查看我的解决方案,我将其作为答案发布。你推图片插图是什么意思?imageInset是什么?tabBarItem.imageInsets属性。