[英]iOS: How to Align The Center of a View With The Bottom of Another View With AutoLayout
[英]ios autolayout overlay view on edge of another view (layering), programmatically
在这里,我设计了一个自定义箭头,它将用作共享按钮。 如图所示,它应该固定在下边缘,其中心点固定在底视图上。
我将如何使用VFL做到这一点?
这就是我尝试的
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[_whiteSquare(160)]-10-|"
options:NSLayoutFormatDirectionLeadingToTrailing
metrics:nil
views:elementDict]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[_shareButton(45)]-|"
options:NSLayoutFormatDirectionLeadingToTrailing
metrics:nil
views:elementDict]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[_shareButton(45)]-20-|"
options:NSLayoutFormatDirectionLeadingToTrailing
metrics:nil
views:elementDict]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-10-[_whiteSquare]-10-|"
options:NSLayoutFormatDirectionLeadingToTrailing
metrics:nil
views:elementDict]];
将whiteSquare
和shareButton
都附加到shareButton
视图。 但这只是将shareButton
放在shareButton
视图的底部,而不是中心固定在whiteSquare的底部
您应该相对于白色正方形而不是超级视图放置共享按钮
这应该可以解决问题:
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[_whiteSquare(160)]-10-|"
options:NSLayoutFormatDirectionLeadingToTrailing
metrics:nil
views:elementDict]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[_whiteSquare]-22.5-[_shareButton(45)]"
options: NSLayoutFormatDirectionRightToLeft
metrics:nil
views:elementDict]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-10-[_whiteSquare]-10-|"
options:NSLayoutFormatDirectionLeadingToTrailing
metrics:nil
views:elementDict]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[_whiteSquare]-22.5-[_shareButton(45)]"
options:NSLayoutFormatDirectionRightToLeft
metrics:nil
views:elementDict]];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.