iOS 使用 VFL 以编程方式约束自动布局
iOS Autolayout Programmatically constraints using VFL
我想做一个这样的关闭按钮,
- 我尝试固定按钮,但按钮缩小或消失了
这是代码,
缩小
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[btnClose(==10)]-|"
options:NSLayoutFormatAlignAllCenterY
metrics:nil
views:NSDictionaryOfVariableBindings(btnClose)]];
因错误而消失
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[btnClose(==-10)]-|"
options:NSLayoutFormatAlignAllCenterY
metrics:nil
views:NSDictionaryOfVariableBindings(btnClose)]];
- 蓝色视图也是使用自动布局设置的,它在所有屏幕上都能正常工作。
我应该应用什么约束来使所有设备都支持关闭按钮,如图所示。?
您应该同时提供水平和垂直约束(如果 10 和 0 是顶部和右侧的空格):
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[btnClose]-0-|"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(btnClose)]];
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[btnClose]"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(btnClose)]];
您不需要指定按钮的尺寸 - 它们将从内容中推断出来,在您的情况下是图像尺寸
我想做一个这样的关闭按钮,
- 我尝试固定按钮,但按钮缩小或消失了 这是代码,
缩小
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[btnClose(==10)]-|"
options:NSLayoutFormatAlignAllCenterY
metrics:nil
views:NSDictionaryOfVariableBindings(btnClose)]];
因错误而消失
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[btnClose(==-10)]-|"
options:NSLayoutFormatAlignAllCenterY
metrics:nil
views:NSDictionaryOfVariableBindings(btnClose)]];
- 蓝色视图也是使用自动布局设置的,它在所有屏幕上都能正常工作。
我应该应用什么约束来使所有设备都支持关闭按钮,如图所示。?
您应该同时提供水平和垂直约束(如果 10 和 0 是顶部和右侧的空格):
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[btnClose]-0-|"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(btnClose)]];
[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[btnClose]"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(btnClose)]];
您不需要指定按钮的尺寸 - 它们将从内容中推断出来,在您的情况下是图像尺寸