ios - 使用 loadView 时无限循环

标签 ios loadview

在 UIViewController 中使用 loadView 时非常有趣的问题。

通常我们是这样使用的

// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
    NSLog(@"loadview");
    [super loadView];
}

如果删除

 [super loadView];

我们会遇到死循环

- (void)loadView {
    NSLog(@"loadview");

}

为什么?

最佳答案

在这种情况下,只有一种方法可以无限循环——获取 View 属性直到它没有被设置。如果你接下来写(例如):

- (void)loadView {
   self.view = [[UIView alloc] initWithFrame:self.view.bounds];
}

你会得到无限循环,但是

- (void)loadView {
   self.view = [[UIView alloc] initWithFrame:CGRectZero];
}

工作正常。

所以你不能访问 View 属性,除非你没有设置它。

关于ios - 使用 loadView 时无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4825640/

相关文章:

ios - 有代表的单例?

ios - 应用程序在选项卡栏之间的快速导航之间崩溃

ios - 我怎么知道 viewcontroller 是因为推送加载还是因为 UINavigationController 弹出后的 View 重建加载?

iphone - 用我自己的 View 替换 UIViewController Root View

iphone - 使用 loadView 创建 View 时, View 的框架大小在旋转时不会改变

iphone - Xcode 无法检测到 iOS 5.1 的 iPhone 设备

ios - 代码推送 : How to deploy to multiple build versions of the same deployment config?

ios - 重用 Storyboard和 uicontrollers

javascript - jquery 创建变量并使用它来加载 - laravel

android - 在数据加载到 Recycler View 之前加载 View