0

表示されている UIToolBar の self.navigationController.toolbar.center.y で NSLog を実行しています。UIViewController で UIToolBar を表示しています。

これ (self.navigationController.toolbar.center.y) は 590 ポイントを返しています (Retina 4inch シミュレーターの実行時)。

これは私の心的イメージでは、目に見えるスクリーンのすぐ下にあります:

  • Retina 4インチは568ポイントの高さ
  • 590 は 568 よりも 22 ポイント大きい (小さい)
  • 22 ポイントは UIToolbar のデフォルトの高さの半分です

なぜこれが起こるのか理解できませんか?

アップデート

また、カスタム ツールバーを作成するために、このアプリで [[UINavigationController alloc] initWithNavigationBarClass:nil toolbarClass:[QuestionToolbar class] を使用していることにも注意してください。

4

1 に答える 1

0

ツールバーの座標を取得するために呼び出しが行われた時点では、ツールバーがまだ表示されていないことは間違いありません。考えてみてください。ナビゲーション コントローラーがツールバーを画面外に保持する場合、y 原点は 568 (画面の正確な高さ) になります。

568 に 22 を足すと… 590 になります。つまり、ツールバーは画面の一番下にあります。座標を確認する場所/時間を変更してみてください。また、ツールバーが実際に表示されていることを確認してください:)

于 2013-04-26T03:10:52.553 に答える