gpt4 book ai didi

ios - UINavigationController 中的 ViewController 未填充 View

转载 作者:可可西里 更新时间:2023-11-01 03:47:18 25 4
gpt4 key购买 nike

我还没有找到如何让我的 View 填充可用空间作为 UINavigationController 中的 Root View Controller (或推送 View Controller )。我试图在这里使用 AutoLayout,但我怀疑这就是问题所在。在我的应用委托(delegate)中

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
ViewController *viewController = [[ViewController alloc] init];

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
self.window.rootViewController = navigationController;

[self.window makeKeyAndVisible];

return YES;
}

在我的 ViewController

- (void)viewDidLoad
{
[super viewDidLoad];

self.view.translatesAutoresizingMaskIntoConstraints = NO;
// Do any additional setup after loading the view, typically from a nib.

UILabel *companyLabel = [[UILabel alloc] init];
companyLabel.translatesAutoresizingMaskIntoConstraints = NO;
companyLabel.text = @"We Build It";
companyLabel.backgroundColor = [UIColor redColor];

[self.view addSubview:companyLabel];

NSDictionary *views = NSDictionaryOfVariableBindings(companyLabel);

[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[companyLabel]" options:0 metrics:@{} views:views]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[companyLabel]" options:0 metrics:@{} views:views]];
}

并且标签在屏幕中居中而不是绑定(bind)到左上角,因为我相信 View 只是在屏幕中居中而不是填充可用空间。

最佳答案

尝试删除以下行:

self.view.translatesAutoresizingMaskIntoConstraints = NO;

这将使 View Controller View 根据它具有的默认自动调整大小掩码具有其完整的宽度和高度。这是我得到的(我将 View 的背景颜色设置为绿色):

enter image description here

如果上面的行仍然被添加,这就是我得到的(这似乎暗示 View 在任何地方都找不到,因为没有绿色的痕迹):

enter image description here

关于ios - UINavigationController 中的 ViewController 未填充 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17372109/

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