选项卡栏控制器内的视图控制器不会在旋转时自动调整大小

View controllers inside tab bar controller not auto-resizing on rotation(选项卡栏控制器内的视图控制器不会在旋转时自动调整大小)
本文介绍了选项卡栏控制器内的视图控制器不会在旋转时自动调整大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

(更正:视图控制器不会自动调整大小而不是自动旋转.)

(Correction: the view controllers are not auto-resizing instead of not auto-rotating.)

在一个 iPad 应用程序中,我在一个标签栏控制器中有五个常规视图控制器(不是导航控制器或类似的东西).标签栏控制器只是在应用程序委托中声明的普通 UITabBarController.

In an iPad app, I have five regular view controllers (not navigation controllers or anything like that) inside a tab bar controller. The tab bar controller is just a plain UITabBarController declared in the app delegate.

所有视图控制器在 shouldAutorotateToInterfaceOrientation 方法中返回 YES.

All the view controllers return YES in the shouldAutorotateToInterfaceOrientation method.

在模拟器和设备上,旋转时,标签栏和当前视图控制器旋转,但当前选择的视图控制器(称为 A)没有正确调整大小.它保持它的纵向宽度和高度(但它是旋转的).

On both the simulator and device, on rotation, the tab bar and the current view controller rotate but the currently selected view controller (call it A) does not resize properly. It keeps its portrait width and height (but it is rotated).

如果我切换到另一个视图控制器 B,然后又回到 A(不再次旋转设备),A 的大小会正确调整.

If I switch to another view controller B and then back to A (without rotating the device again), A appears correctly resized.

这发生在五个视图控制器中的任何一个上

This happens with any of the five view controllers

为什么当前选择的视图控制器在旋转时不立即调整大小,我该如何解决?

Why doesn't the currently selected view controller resize immediately on rotation and how do I fix it?

谢谢.

推荐答案

你应该添加:

self.view.autoresizesSubviews = YES;
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

到标签栏控制器的子视图控制器的每个 viewDidLoad 方法.

To each viewDidLoad method of the sub-viewcontrollers of your tabbar controller.

这篇关于选项卡栏控制器内的视图控制器不会在旋转时自动调整大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Pushing UIViewController above UITabBar(将UIView控制器推送到UITabBar上方)
java.lang.IllegalStateException: SimpleTypeImpl should not be created for error type(异常:不应为错误类型创建SimpleTypeImpl)
Android IllegalArgumentException: The tag for fragment_XXX is invalid. Received: layout-sw600dp/fragment_XXX_0(Android IlLegalArgumentException:Fragment_XXX的标签无效。收到:Layout-sw600dp/Fragment_XXX_0)
iOS convert audio sample rate from 16 kHz to 8 kHz(IOS将音频采样率从16 kHz转换为8 kHz)
Enforcing an audio sampling rate in iOS(在iOS中强制音频采样率)
Question about the rotation of X axis on Android(关于Android上X轴旋转的问题)