それほど難しいとは言えませんが、試してみたところ、適切な解決策を得ることができませんでした。NSLayoutAnchorを設定して、アスペクト比1:1の中心のサブビューを生成する方法
問題:私はサブビュー(colorImageView)を取得する(クラスNSLayoutAnchor付き)制約を設定したいをbeeingては、1のアスペクト比で、スーパーでを中心に:1、常に最大サイズ可能でスーパービューでは、幅>高さまたは高さ>幅を持つことがあります。
例1:SuperViewSize =幅80、高さ= 100 - >サブビュー80の高さと幅を取得し(40/50)を中心とすべきである
例2:SuperviewSize =幅。 60、height = 50 - > subviewは50の高さと幅を持ち、(30/25)を中心にする必要があります。
私は望みません/問題を解決しない/ハードコードするにはwidthConstraint = min(superviewWidth、superviewHeight )作成の瞬間にサブビュー、スーパービューの境界は最終的に定義されていないので - >私は制約が必要です。
これは、これまでのところ(まだ様々なスーパーの中に可能な最大で高さと幅を設定するには、制約が不足して、私の試みです:
// CREATE CONSTRAINTS(center in SuperView)
colorImageView.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true
colorImageView.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true
// CREATE CONSTRAINTS (ratio 1:1)
colorImageView.widthAnchor.constraint(equalTo: colorImageView.heightAnchor, multiplier: 1.0).isActive = true
私はそれを行う方法を、ヒントを本当に感謝します。事前に感謝:))
私はスウィフト3構文で答えを更新しました。 – vacawama