ios - 如何初始化 UIView 使其在横向模式下覆盖屏幕?

标签 ios cocoa-touch uiview

我正在使用 initWithFrame 方法来初始化一个 UIView,它将充当 View Controller 主视图的 subview ;然而,UIView 似乎总是基于纵向模式框架(从而将自身紧贴屏幕的一侧)而不是覆盖整个屏幕的横向模式框架来呈现自己。

我正在横向模式下初始化 View Controller ,因此应该使用正确的参数初始化 uiview,但现在情况似乎并非如此。我一直在使用 superview 的框架、superview 的边界和 UIScreen mainscreen 作为 initWithFrame 的可能参数(矩形),但到目前为止我运气不好。

最佳答案

您需要在初始化后为您的 View 定义适当的 autoresizingMask

首先,初始化 View 及其 frame 作为您的屏幕 bounds(或者您的父 View ,如果您的父 View 占据了整个屏幕)。然后,按如下方式设置 View autoresizingMask:

self.myView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | 
  UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin |
  UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;

这应该使您的 View 在其父级 View bounds 更改时自动更改其 bounds

关于ios - 如何初始化 UIView 使其在横向模式下覆盖屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17392049/

相关文章:

ios - Firebase 为当前用户设置安全和规则

ios - 自动续订订阅相关查询 [服务器-用户映射]

ios - 如何在iOS上的UIImagePicker中获取实际图像帧的大小?

iphone - 多层视差 ScrollView ?

ios - 在 View 中播放多个视频的最佳方式是什么?

swift - 什么是最好的 : Create, 隐藏、显示新的 UIView 或在 Swift 中创建、显示和删除 UIView?

ios - UISearchBar 在向下滚动之前不可见

ios - 如何在 segue unwind 之前执行条件检查

ios - 是否可以使用 iOS AutoLayout 创建基于动态网格的布局?

ios - 带有 UIDatePicker subview 的 UIActionSheet 有一个小的透视区域