0

Swift を使用して、アプリケーションの上部に pageViewIndicator を実装しました。個人のiPhoneで常にテストして動作しましたが、iPhone Xシミュレーターを使用すると、セーフエリア内またはセーフエリア内に配置することを参照しなかったため、ノッチの後ろに消えることに気付きましたまだ正しく構成されていません。比較は次のとおりです。

iPhone 8 の pageController iPhone X の pageController

簡単な質問のように思えますが、現在、これを処理する方法に関する適切なサポートが見つかりません。主な提案は safeAreaInsets を調整することですが、これを機能に適用する方法がわかりませんAutoLayout。pageController に topAnchor 制約を追加しようとしましたが、基本的な算術演算を使用してこれを編集することさえ可能でしょうか?

pageControl.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
4

3 に答える 3

0

私は自分の問題を見つけました。これは実際には単に監視しただけのものでした:追加するのを忘れました

pageControl.translatesAutoresizingMaskIntoConstraints = false

サブビューとして追加する前に pageControl に追加します。これにより、次の制約を割り当てて、必要な場所に pageController を適切に配置することができました。

let safeViewMargins = self.view.safeAreaLayoutGuide
pageControl.topAnchor.constraint(equalTo: safeViewMargins.topAnchor).isActive = true
pageControl.leadingAnchor.constraint(equalTo: safeViewMargins.leadingAnchor).isActive = true
pageControl.trailingAnchor.constraint(equalTo: safeViewMargins.trailingAnchor).isActive = true

その後、これはすべてのデバイスで完全に実行されました。

于 2018-02-03T21:57:14.880 に答える