検索

ホームページ  >  に質問  >  本文

ios:如何获取导航栏中rightBarButtonItem对应self.view的坐标?

1.我想做一个动画,需要知道rightBarButtonItem对应self.view中的位置,即:

CGPoint toPoint = [self.navigationController.navigationBar convertPoint:self.navigationItem.titleView.center toView:self.view];

但是获取到的位置坐标始终不正确:

2.问题是:
怎么能够获取到导航栏中的各个navigationItem对应在self.view中的位置呢?

PHP中文网PHP中文网2889日前1062

全員に返信(3)返信します

  • 迷茫

    迷茫2017-04-18 09:07:01

    self.viewはナビゲーションコントローラーに配置されたビューであり、ナビゲーションバーも同じなので同等ですが、ナビゲーションバーがself.viewのサブビューであるわけではないので当然仕方がありません。 self.view のナビゲーション バー内のサブ項目の位置を計算します。

    計算したいのはwindowやnavigationController.view内の項目の位置だと思いますよね?

    ビューのデバッグを使用すると、さまざまなビュー間の階層関係を確認できます。

    返事
    0
  • PHPz

    PHPz2017-04-18 09:07:01

    リーリー

    frameInNaviView が必要です

    返事
    0
  • 迷茫

    迷茫2017-04-18 09:07:01

    テストの結果、次のことが判明しました:

    リーリー

    これは確かに正しい位置を取得できますが、iPad でテストしたところ、同じコードで {{0, 0}, {44, 44}} という結果が得られたことがわかりました。これは別の新しい質問につながるようです。 : iPhone では正しいのに iPad では正しくないのはなぜですか?

    返事
    0
  • キャンセル返事