1

自動レイアウトを使用した位置である UIStackView があります。画面が回転したら、さまざまな制約を非アクティブ化およびアクティブ化して、スタック ビューを目的の場所に移動します。

Reveal を使用して、スタック ビューが正しく配置されていることを確認しました。

スタック ビューにはいくつかのビューがあり、スタック ビューの配置は Fill に設定されており、スタック ビューの幅いっぱいに拡大されるようになっています。これは正しく動作しますが、...

デバイスを回転させると、回転して元の向きに戻ります。その後、スタック ビューは正しく配置されますが、その中のビューは正しくありません。スタック ビューを埋める代わりに、横にギャップを残します。だいたい20点から50点くらいです。ただし、同じデバイスでは常に同じ金額です。

これは私を困惑させました。ローテーション時にスタックビューを正しく埋めるために私が見つけた唯一の解決策は次のとおりです。

override func viewDidLayoutSubviews() {
    sliders.alignment = UIStackViewAlignment.Bottom
    sliders.alignment = UIStackViewAlignment.Fill
}

これにより、スタックビューが開始され、ビューが正しくリフローされるようです。しかし、それはかなり粘着性があるように感じます。

誰かがこのバグに遭遇し、より良い解決策を見つけましたか?

私はsetNeedsLayout()、setNeedsDisplay()などについてあらゆる種類のことを試しましたが、これまでのところ、上記のコードだけが問題を修正しました。

4

2 に答える 2

0

OK、最新の SDK で問題が解消されたようです。したがって、Appleによって修正されたに違いありません。

于 2016-01-06T05:29:26.757 に答える