gpt4 book ai didi

ios - 是否有将实例变量与 NSLayoutConstraint 的可视格式一起使用的最佳实践?

转载 作者:可可西里 更新时间:2023-11-01 05:09:24 24 4
gpt4 key购买 nike

假设我有一个来自名为 label 的父类(super class)的实例变量,我想使用视觉格式设置自动布局约束。如果我尝试在格式字符串中使用 self.label,则会出现解析错误,而且我无法从子类访问 _label。目前有效的解决方法如下,但看起来有点难看。有没有更好的办法?

    UILabel *label = self.label;
NSDictionary *views = NSDictionaryOfVariableBindings(label, _textField);

[self.contentView addConstraints:
[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[label(==_textField)][_textField(==label)]-|"
options:NSLayoutFormatAlignAllCenterY
metrics:nil
views:views]];

最佳答案

constraintsWIthVisualFormat 采用 View 字典,但它不必来自 NSDictionaryOfVariableBindings 例如:

UILabel *label = self.label;
NSDictionary *views = @{@"label":self.label, @"_textField":_textField};

[self.contentView addConstraints:
[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[label(==_textField)][_textField(==label)]-|"
options:NSLayoutFormatAlignAllCenterY
metrics:nil
views:views]];

我还没有测试过,所以如果我的顺序或语法有误,请告诉我,以便我可以修复它,但关键是你的字典可以是任意的。

关于ios - 是否有将实例变量与 NSLayoutConstraint 的可视格式一起使用的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17094873/

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