【发布时间】:2024-04-15 19:50:02
【问题描述】:
NSString *format = [NSString stringWithFormat:@"H:|-10-[self]-10-|"];
NSString *formatVertical = [NSString stringWithFormat:@"V:|-40-[self(300)]|"];
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:format options:0 metrics:nil views:viewsDictionary]];
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:formatVertical options:0 metrics:nil views:viewsDictionary]];
使用 formatVertical 我可以设置视图的高度。但我想让这个值成为动态的,以便能够在所有不同的屏幕上以相同的外观显示。
有什么我可以做到的吗?
【问题讨论】:
-
您希望它成为超级视图(屏幕)的百分比吗?如果是这样,你不能用 VFL 做到这一点
-
用动态解释你的确切意思
-
如果你是这个意思:*.com/questions/47594682/… 你不能。但是你能解释一下你到底需要什么吗?
-
所以,我的意思是对所有屏幕尺寸(iPhone 5、iPhone X、iPhone 7 等)都有通用约束。例如,我想让我的 formatVertical 为屏幕的 0.5,这样高度就会无论 iPhone 屏幕的高度如何,都是所有屏幕类型的一半。 @DonMag
-
有没有办法为不同的屏幕尺寸应用通用高度值?因为如果我设置为 V:|-40-[self(300)]|像这样它对 iphone5s 来说会很大,但对 iphone7 来说会小一点。 @Larme
标签: ios objective-c nslayoutconstraint visual-format-language