gpt4 book ai didi

ios - CGRectMake 标签没有出现

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

我刚刚开始制作一个带有导航栏的新应用。我在 AppDelegate.m 中使用导航创建了第一个 View 。

AppDelegate.m :

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
sleep(2);
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
UINavigationController* nav = [[UINavigationController alloc] initWithRootViewController:[[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil]];
self.window.rootViewController = nav;
[self.window makeKeyAndVisible];
return YES;
}

然后,我在 loadView 方法中创建 HomeViewController 的 View 。

加载 HomeViewController 的 View :

- (void)loadView
{
self.view = [[UIView alloc] init];
self.view.backgroundColor = [UIColor whiteColor];
self.searchPoiInstructionsLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 50, 20)];
self.searchPoiInstructionsLabel.layer.borderColor = [UIColor blackColor].CGColor;
self.searchPoiInstructionsLabel.layer.borderWidth = 2.0f;
self.searchPoiInstructionsLabel.text = @"HELLO WORLD";
[self.view addSubview:self.searchPoiInstructionsLabel];
}

我的标签 Hello World 没有出现...

enter image description here

对于框架,如果我设置 CGRectMake(0, 65, 50, 20)65y,我的“Hello World "出现...(我知道,我必须增加宽度 :) )

enter image description here

我只是不明白我的观点的起源......如果有人能解释我的话。

谢谢

最佳答案

这是 iOS7 的包袱。如果您在 iOS6 下运行您的应用程序,您将看到您期望/想要的标签。

在 iOS7 下,您的 View 起源于导航栏下方,这就是当您将框架设置为起源于 0,0 时看不到标签的原因。如果仔细观察,您实际上可以看到状态栏中 Carrier 指示器后面的模糊标签。

有多种方法可以解决这个问题:

如果 UINavigationBar 不是半透明的,则 0,0 原点将起作用。

您可以使用 topLayoutGuide 更新标签框架

您可以使用 UIScrollView 而不是 UIView

关于ios - CGRectMake 标签没有出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24050586/

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