【发布时间】:2015-08-22 02:24:08
【问题描述】:
我在想办法解决这个问题时束手无策。在 CSS 中,你可以这样做:
img {
position: absolute;
width: 50px;
height: 50px;
top: 0;
right: 0;
}
在 Swift 中,我使用编程接口来设置图像的布局约束。它看起来像这样:
let img = UIImageView(image: UIImage(named: "my-image"))
img.setTranslatesAutoresizingMaskIntoConstraints(false)
mainScrollView.addSubview(img)
mainScrollView.addConstraint(NSLayoutConstraint(item: img, attribute: .Width, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 50))
mainScrollView.addConstraint(NSLayoutConstraint(item: img, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 50))
mainScrollView.addConstraint(NSLayoutConstraint(item: img, attribute: .Top, relatedBy: .Equal, toItem: mainScrollView, attribute: .Top, multiplier: 1, constant: 0))
mainScrollView.addConstraint(NSLayoutConstraint(item: img, attribute: .Trailing, relatedBy: .Equal, toItem: mainScrollView, attribute: .Trailing, multiplier: 1, constant: 0))
但是由于某些奇怪的原因,它尊重宽度和高度布局约束,甚至是顶部约束。但它基本上在屏幕左侧 50 处。如果我将最后一个 .Trailing 常量设置为 50,它实际上会将它移到左上角的视图中(是的,我对此很困惑)。
【问题讨论】:
标签: ios swift uiscrollview autolayout