【问题标题】:Autoresize the root view when device is rotated旋转设备时自动调整根视图的大小
【发布时间】:2012-01-06 02:23:06
【问题描述】:

我正在开发 PDF 阅读器。我在旋转模拟器时遇到问题。我正在做的是,当ViewController(即loadView)加载视图时,我正在创建UIScrollView,其中包含相同大小的UIImageViewUIView(即PDF的大小页)。它在纵向模式下完美运行。但是当我在横向模式下旋转模拟器时,视图不会根据设备自动调整大小。我试过了

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

在 ViewController 的 viewDidLoad()

但它不起作用。我很困惑上述两个属性是如何工作的。我猜这些属性会将UIScrollView 自动调整为我正在加载UIScrollView 的根视图的大小。但是应该怎么做才能自动调整加载 UIScrollView 的主视图?

【问题讨论】:

    标签: xcode landscape autoresize


    【解决方案1】:

    这是迟到的回复...如果您还没有修复它可能会有所帮助。

    当您在纵向模式下创建任何应用程序时,如果您希望它旋转(调整大小)到横向模式,您应该在 User Interface Builder 或 .xib(或 Storyboard iPad 或 iPhone)文件中执行此操作。

    所以要检查或检查模拟器中的旋转:

    1. 转到“USER INTERFACE BUILDER”或“.XIB”(或“Storyboard iPad 或 iPhone”)文件。

    2. 然后选择“UIImageView”并转到“SHOW THE ATTRIBUES INSPECTOR”。

    3. 在第四个选项卡(属性检查器)中,将模式设置为“Aspect Fit”,在第三个选项卡(尺寸检查器)和第五个选项卡(尺寸检查器)中,将自动调整大小属性设置为:

    将箭头设置为所有方向。抱歉无法加载图片。

    1. 对“UIView”执行相同的操作 (3)。

    2. 在继续之前,您可以通过选择详细视图控制器并将方向从纵向更改为横向来仔细检查您是否已获得所有自动调整大小的属性:抱歉,暂时无法加载图像...

    3. 您可以在右上角的“模拟指标”中选中或更改为“横向或纵向”,选择“大小”下的“方向”。

    如果有问题,请不要担心:只需将其改回纵向并仔细检查设置即可。

    【讨论】:

      【解决方案2】:

      我在尝试使用自动调整大小方法时遇到了同样的问题。所以,我希望这会有所帮助。 (附注:我假设您是通过编程而不是通过 IB 创建 UI)

      那么你试过了吗?

      在您的视图控制器中添加以下内容:

      // Set the View Controller to fit the whole screen. -(BOOL)wantsFullScreenLayout{ return YES; }

      在 loadView 方法中将你的 scrollView 修改为:

      // set the initial size of your scrollView object.
      [scrollView setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
      
      // Set the auto resizing attributes.
      [scrollView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
      

      除此之外,您可能需要根据设备旋转时所需的布局类型为 UIView 或 UIImageView 设置 autoresizingmask 边距。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-19
        • 1970-01-01
        • 1970-01-01
        • 2018-05-02
        • 2018-11-11
        • 1970-01-01
        相关资源
        最近更新 更多