ios - 从 NIB 加载 View 返回零帧 View - 怎么办?

标签 ios objective-c

我有一个 View Controller ,它正在创建另一个 View 控制并将结果 View 添加到它的 subview 。但问题是 View 是使用框架 (0, 0, 0, 0) 创建的。

如果我手动设置框架没问题,但我不想手动设置框架,我想要自动调整大小。这是代码:

GridViewController *gridVC = [[GridViewController alloc] initWithNibName:@"GridView" bundle:nil];
[self addChildViewController:gridVC];
[self.view addSubview:gridVC.view];

self.view有普通帧,gridVc.view有(0,0,0,0)帧;

在 xib 中我有几个 View , View 连接正确,文件所有者设置正确,一切看起来都很好。

最佳答案

当像这样进行 View Controller 包含时(顺便说一句,我希望你也有你的 didMoveToParentViewController 调用),我总是设置 frame,例如

gridVC.view.frame = self.view.bounds;

不可否认,我经常将我的 subview 添加到一个不占据整个屏幕的容器中,所以在这种情况下这很重要,但是,我仍然不确定为什么你不愿意设置框架

一旦你这样做了,假设你正确地设置了你的自动调整大小蒙版,所有的东西都会自动为你适本地调整大小。

仅供引用,当他们在示例代码中添加 child 的 View 时,Apple 也会设置 frame(参见 Listing 14-1)。

显然,如果您使用自动布局,您将设置约束(或使用 translatesAutoresizingMaskIntoConstraints),但思路是一样的。

关于ios - 从 NIB 加载 View 返回零帧 View - 怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16198576/

相关文章:

iphone - 旋转导航栏按钮

ios - Swift 中没有项目时的 View 而不是 Tableview

c# - Xamarin iOS(WebClient IPv6 拒绝)

ios - 如何杀死 "Unknown attribute ' flatten' ignored"警告?

objective-c - NSNumber 作为 NSDictionary 的键

iphone - Google Analytics Mobile(ipod/iphone)自定义变量跟踪

ios - Xcode 10.0 错误 "Command/Applications/Xcode 10.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1"

ios - WkWebView 不全屏旋转视频?

ios - 在同一个 Storyboard 中重用另一个表 VC 中的单元格

ios - 带有进度 block 的 Amazon S3 iOS SDK 后台上传