0

埋め込みビューと自動レイアウトに問題があります。

少し複雑なビューを作成しました。そこで、このビューをリファクタリングして、いくつかのビュー コンポーネントを作成したいと思います。ビューの 1 つを取得し、1 つの uiview クラスにまとめて、そこにすべてのロジックを配置しました。このビューを XView と呼びましょう。今まで大丈夫。

そこで、メイン ビューに XView を埋め込んで、ビューが新しいコンポーネントで動作することを確認しました。私はこのコマンドを入れます:

xViewInstance = ...
[self.container addSubview:xViewInstance];

うまくいきません。xViewInstance は親ビューよりも大きいです。xViewInstance のサイズを変更したい。

そこで、何が問題なのかを確認するために答えを探しました。そして、私を助けることができるいくつかの答えを見つけました。PureLayout を見つけました。

それで私はそれを試しました。

- (void)updateViewConstraints {

    if (!self.didSetupConstraints) {

        [self.xViewInstance autoPinEdgesToSuperviewEdges];

        self.didSetupConstraints = true;
    }
    [super updateViewConstraints];
}

うまくいきませんでした。xViewInstance は、その親よりも大きくなり続けます。

コードで制約を作成し、プログラムでサブビューを調整するコードであるスタックで、別の答えを見つけました。繰り返しますが、うまくいきませんでした。

今、私は何ができるのか分かりません。xViewInstance 制約のいくつかの優先順位が考えられます。

誰かがこの状況で合格したことがありますか? 誰かがこれについてアドバイスを与えることができれば、私は非常に感謝しています。

4

1 に答える 1