gpt4 book ai didi

ios - 模糊自动布局约束(以编程方式添加)

转载 作者:行者123 更新时间:2023-12-01 19:47:30 26 4
gpt4 key购买 nike

我不知道为什么我以编程方式创建的约束是模棱两可的,我什至尝试从具有相同约束的 Nib 初始化,它可以工作,但为什么我的代码不是。

@interface rootViewController: UIViewController
@end

@implementation rootViewController

- (void)loadView
{
self.view = [[UIView alloc] init];

UIView *theView = [[UIView alloc] init];
[self.view addSubview:theView];

NSArray *arr = @[
[theView.topAnchor constraintEqualToAnchor:self.view.safeAreaLayoutGuide.topAnchor],

[theView.bottomAnchor constraintEqualToAnchor:self.view.safeAreaLayoutGuide.bottomAnchor],

[theView.centerXAnchor constraintEqualToAnchor:self.view.safeAreaLayoutGuide.centerXAnchor],

[theView.leadingAnchor constraintEqualToAnchor:self.view.safeAreaLayoutGuide.leadingAnchor]];

[NSLayoutConstraint activateConstraints:arr];

}

@end

//And I load it in the ApplicationDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.

self.window = [[UIWindow alloc] init];
self.window.rootViewController = [[rootViewController alloc] init];
[self.window makeKeyAndVisible];

return YES;
}

调试时找不到问题真的很有趣。

The debug output

最佳答案

感谢Yun CHEN的帮助,他告诉了我很多,但真正的问题是。

以编程方式创建的 View 和从 Interface Builder 创建的 View 之间存在一些不同。

@property(nonatomic) BOOL translatesAutoresizingMaskIntoConstraints;
//the property of UIView

我读了描述:

默认情况下, 对于您以编程方式创建的任何 View ,该属性都设置为 YES .如果在 Interface Builder 中添加 View ,系统会自动将此属性设置为 NO。

也就是说,只要把这个隐藏的boss设置为NO。一切正常。

关于ios - 模糊自动布局约束(以编程方式添加),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47804717/

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