3

複数のサブビューを含むビューでは、サブビューの1つは、スーパービューの上部と下部からゼロ以外の固定距離を維持する必要があります。これらの画像では、このビューは灰色で示されています。

Portait

風景

ドキュメントによると、このビューにはのマスクが必要ですUIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth。ただし、これにより、ビューの高さが拡張され、スーパービュー全体が引き継がれます。ビューを固定されているがゼロ以外のマージンにどのように含めることができますか?ありがとう。

4

1 に答える 1

2

UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth動作するはずです。

ただし、親ビューの高さ/幅が小さくなると UIView の自動サイズ変更にバグがあります (ゼロになるとすべてが壊れます) — UIView の高さ/幅が負にならない可能性があります。

initWithFrame:CGRectZero; を実行しているときにこの問題に遭遇しました。subview.frame = self.boundsself.bounds が CGRectZero の場合 (または小さい場合)のようなものを使用した場合にも発生する可能性があります。

私の強引なデバッグ方法は、setFrame: と setBounds: をオーバーライドして NSLog を追加することです。

于 2010-08-18T00:08:54.730 に答える