さらに多くのビューコントローラ(ナビゲーションバー)が存在すると、その高さだけUIViewがプッシュダウンされることがわかりました。私はまた、この高さ= 44pxを知っています。私はまた、このプッシュダウンが[self.view].frame.origin.y = 0
を維持していることも発見しました。プログラムでナビゲーションバーの高さを取得する
このナビゲーションバーの高さは、定数に設定する以外にどのように決定しますか?
または、短いバージョンでは、UIViewがナビゲーションバーの上に表示されていると判断するにはどうすればよいですか?
電球が点灯し始めました。残念ながら、私は、以下で説明するように、問題を解決するための一貫した方法を発見していません。
私の問題は私の自動サイズ調整の中心にあると私は信じています。私が結論した理由は、UIWebViewの有無にかかわらず同じ症状が存在するからです。そしてその症状は、すべてがポートレートのためにピーチであるということです。ランドスケープの場合、一番下のUIButtonがTabBarの後ろにポップダウンします。
例えば、一つのUIViewに、私は上から下へ、持っている:
のUIView - 私は2つのバネを設定した場合、クリア - の両方を設定ばね(デフォルトの場合)と無支柱
UIScrollViewの他のすべて(UIViewのような)、UIButtonはそのすぐ上のオブジェクトに侵入します。私がすべてをクリアすると、UIButtonはOKですが、一番上のものはStatusBarの背後に隠れます。上のストラットのみを設定すると、UIButtonがタブバーの後ろにポップダウンします。
次の垂直UILabelとUIImage - 柔軟な他の場所のトップ・ストラットセット、
だけのUIWebView持っているいくつかのために絵を完成させる: - :左上、右スプリングス:
のUIWebViewをStrutsの両方
UIButton - すなわち、柔軟どこでも
設定何も、私の電球が暗いですが、希望があるように思われます。
私は短い返信のコメントのために提供されたものより多くの部屋が必要だったので、私に同行してください。
私が本当に釣っているものを理解しようとしてくれてありがとう...だからここに行く。
1)各UIViewController(TabBarアプリケーション)にはUIImage、テキストなどがあります。別の共通点は、底面のUIButtonです。 UIViewControllerの中には、UIButtonの上にUIWebViewがあります。
ので、UIImage、テキストなどのUIWebView(SOME上)上記のすべての周辺UIButton
はUIScrollViewのです。| - |
—
|
—
^
|
|
:
2)のUIWebViewを有するものについては、そのautoresizingMaskは次のようになります←----→| - | | | V はUIButtonのマスクは私の-viewDidLoad内すなわち、柔軟どこでも
、設定は何もしています、私は次の操作を行い、その中に私-repositionSubViewsを呼び出す:
全くのUIWebViewがない場合、私はセンター以外何もしませんIBと一緒に配置したUIButton。
私はUIWebViewを持っている場合、私はそのコンテンツ*高さを決定し、コンテンツ全体を囲むようにフレームを設定します。
UIScrollView *scrollViewInsideWebView = [[webView_ subviews] lastObject];
webViewContentHeight = scrollViewInsideWebView.contentSize.height;
[webView_ setFrame:CGRectMake(webViewOriginX, webViewOriginY,
sameWholeViewScrollerWidth, webViewContentHeight)]
これを実行すると、プログラムによってUIButtonがプッシュダウンされ、UIWebViewの下に配置されます。
すべての機能は、縦から横に回転させるまで機能します。
私は、-didRotateFromInterfaceOrientation内でmy -repositionSubViewsを呼び出します。
私のUIWebViewのコンテンツの高さは、回転すると変化しません。なぜですか?
[ポートレート]から[風景]まで、コンテンツの幅は拡大され、コンテンツの高さは縮小されます。それは視覚的にはそうするべきですが、私のNSLogによるとは限りません。
とにかく、UIWebViewの有無にかかわらず、私が話したボタンは、風景モードではTabBarの下に移動しますが、スクロールして表示されません。私は "激しく"スクロールするとTabBarの後ろに表示されますが、TabBarの後ろには "戻る"と表示されます。
最後の理由は、私がTabBarとNavigationBarの高さについて質問したのは、TabBarがUIViewの下部にあり、NavigationBarがUIViewを押し下げるためです。
ここでは、コメントを先に作成していないため、コメントを2つ追加します。
UIWebViewを使用しない場合、私はIBのようにすべてそのまま残します。
UIWebViewでは、UIWebViewのframe.heightをcontentHeightに増やし、すべてのサブビューを囲む周囲のUIScrollViewの高さを調整します。
あなたはそれを持っています。
トップストラットをセットし、UIWebView - 問題解決し、おかげで束ねる。実際、私の残っている唯一の問題は、それらの呪われた@ 2Xなどのグラフィックをデザインすることです。私は非常に簡単な方法でGraphicConverterを使用し、Webページの設計にはうまくいきます。しかし、これらのすべての30px、57pxのもの - 私は、少なくとも私にとっては未知の領域に入っています。 –