gpt4 book ai didi

ios - 在 IOS 7's loadView method of UIViewController, why does UIScreen' 中创建 View 时,主应用程序框架在状态栏下方开始?

转载 作者:行者123 更新时间:2023-11-29 10:44:50 26 4
gpt4 key购买 nike

我正在尝试以编程方式创建我的 View 。我知道从 IOS7 开始,状态栏与 View 重叠。当我像这样在 loadView 中创建 View 时,框架从 x/y 0,20 而不是我预期的 0,0 开始,并且我的渐变背景没有延伸到状态栏下方的屏幕顶部。

- (void)loadView {
UIView *view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];

CALayer *layer = [MyCustomGradients darkBlueToLightBlueGradient];
layer.frame = view.frame;
[view.layer insertSublayer:layer atIndex:0];

self.view = view;
}

如果我不覆盖 loadView 而是在自动创建的 View 属性的 viewDidLoad 中设置我的渐变背景层,则框架的原点在 0,0 处是正确的,并且背景根据需要显示。

如有任何提示,我们将不胜感激!

最佳答案

那是因为

[[UIScreen mainScreen] applicationFrame]

返回没有状态栏的屏幕边界。只需使用

[[UIScreen mainScreen] bounds]

相反, View 将被正确定位。

关于ios - 在 IOS 7's loadView method of UIViewController, why does UIScreen' 中创建 View 时,主应用程序框架在状态栏下方开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22735443/

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