2

ポップオーバー内に表示されるviewControllerがあります。ポップオーバーに合わせてviewControllerのビュー(viewControllerのself.view)のサイズを変更する方法を見つけようとしています。

ビューは自動的にポップオーバーに収まるサイズになると思います。どういうわけか、そうではありません。ビューのフレームは、何らかの理由で画面全体のサイズです。

ビューのサイズを変更できるように、周囲のView Controllerのサイズを検出します。または、ビューがポップオーバーに合わせて自動的にサイズ変更されますか?

注: これは他の誰かのアプリに組み込まれているクラスなので、ポップオーバーのサイズ自体を制御することはできません。

4

2 に答える 2

2

私が間違っていたことを理解しました: viewDidLoad メソッドでフレームサイズを見ていました。何らかの理由で、その時点で常に有効であるとは限りません。

フレーム サイズを確認する正しい場所は、viewDidAppear です。そこで有効なようです。確かに、すべてのケースでこれをチェックしたわけではないので、YMMV.

于 2012-11-29T19:05:44.717 に答える
0

ビュー コントローラーをオーバーライドcontentSizeForViewInPopoverし、ポップオーバーに必要なサイズを返します。したがって、どういうわけか逆に動作し、含まれているView Controllerにより、ポップオーバーがどれくらいの大きさであるべきかを知ることができます。ポップオーバーはデフォルトで 320px x 1100px だと思います。上記のメソッドを上書きすると、コードがアプリに埋め込まれていて、それを制御できない場合でも、必要なだけ大きくすることができます。

于 2012-11-28T16:41:05.407 に答える