画像ビュー内で画像を左揃えにするのではなく、プログラムで画像ビューに幅の制約を追加して、「余分なスペース」がないようにすることができます。
「 Aspect UIImageView
Fit」コンテンツ モードがあり、固定の高さの制約がインターフェイス ビルダーに追加されているとします。次に、関連するビュー コントローラーで、画像の縦横比を確認し、必要な幅の制約を適用して、画像ビューを含まれている画像にスナップします。例えば:
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// UIImage loaded from somewhere...
imageView.image = uiImage
// Check the UIImageView for existing height constraints
let heightConstraints = imageView.constraints.filter{$0.firstAttribute == .height}
if let imageViewHeight = heightConstraints.first?.constant {
// Calculate the width which would make the image view fit
// the image perfectly, and constrain the view to that width.
let desiredImageViewWidth = (imageViewHeight / uiImage.size.height) * uiImage.size.width
imageView.addConstraint(NSLayoutConstraint(item: imageView, attribute: .width, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1.0, constant: desiredImageViewWidth))
}
}
これを問題に適用するには、2 つUIImageView
の が隣り合うように制約し、両方に (同じ値の) 固定の高さ制約を設定してから、上記のコードを使用してプログラムで幅を設定します。