gpt4 book ai didi

iphone - UIWindow 边界/框架为空

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:14:07 26 4
gpt4 key购买 nike

我正在创建一个没有 nib 文件的 ios 应用程序,并且想像这样在应用程序委托(delegate)中初始化窗口:

CGRect screenBounds = [[UIScreen mainScreen] bounds];
self.window = [[[UIWindow alloc] initWithFrame:screenBounds] autorelease];
self.window.backgroundColor = [UIColor greenColor];

NSLog(@"%@", self.window.bounds);

窗口出现,我可以看到我定义的绿色。当我调试 self.window 时,我看到了我刚刚定义的框架的边界,但是当我想访问 bounds 属性时,它返回 null。与框架相同。有什么区别?

当我想接下来初始化一个 View 时,它不会工作,因为框架/边界没有定义来初始化该 View :

// create root view
RootView* rootView = [[[RootView alloc] initWithFrame:self.window.bounds] autorelease];

我做错了什么?

最佳答案

是的,这是行不通的

NSLog(@"%@", self.window.bounds);

窗口的边界不是一个对象,所以 %@ 不能用来显示它:)

首先尝试将 CGRect 转换为 NSString * :

NSLog(@"%@", NSStringFromCGRect(self.window.bounds));

这应该会给你更多的调试信息来帮助你解决你的问题:)

注意 %@ 只是调用对象的 description 并显示它。

关于iphone - UIWindow 边界/框架为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7993587/

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