gpt4 book ai didi

iphone - UIViewController:将 self.view 设置为我的 View 或将我的 View 添加为 subview ?

转载 作者:行者123 更新时间:2023-12-03 19:43:07 25 4
gpt4 key购买 nike

我有一个关于UIViewController的 subview 的问题,我创建了一个UIView子类MainView,它具有屏幕的精确尺寸,我想知道哪种添加MainView的方式更好,考虑以下因素:

1 由于MainView与整个屏幕的大小相同,MainView本身可能有 subview ,但在保存级别上没有与MainView相同的 View (即我不需要向self.view添加其他 subview )。

2 如果我使用 self.view = mainView,我是否将代码放入 loadView 中(因为 viewDidLoad 方法意味着 View (self.view)已经加载)?我看到 loadView 方法默认被注释掉,如果我将代码添加到该方法中,我还需要组合哪些其他代码(例如初始化应用程序的其他方面)?

3 如果我通过[self addSubview:mainView]添加mainView,实际上有两个离屏缓冲区吗?一个用于 self.view,一个用于 mainView,两者都与屏幕大小相同,并且一个层叠在另一个之上(因此浪费内存)?

非常感谢!

最佳答案

我不确定我是否完全理解您的问题,但我会尽力回答您的一些问题。

首先,如果屏幕上有多个 UIView,它们都会加载到内存中。您必须执行 -removeFromSuperview 并释放它们才能恢复内存。

您可以将 UIView 指定为 UIViewController 的 View 。例如:

MainView *mainView = [[MainView alloc] initWithFrame:CGRectMake(320.0, 480.0)];
self.view = mainView;
[mainView release]; //since the .view property is a retained property

在这种情况下,您可以在 -init 方法中获得 View 的初始化代码。只需重新定义它即可:

- (id)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame]) {
//initializations
}
return self;
}

关于iphone - UIViewController:将 self.view 设置为我的 View 或将我的 View 添加为 subview ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1425154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com