1.我想做一个动画,需要知道rightBarButtonItem对应self.view中的位置,即:
CGPoint toPoint = [self.navigationController.navigationBar convertPoint:self.navigationItem.titleView.center toView:self.view];
但是获取到的位置坐标始终不正确:
2.问题是:怎么能够获取到导航栏中的各个navigationItem对应在self.view中的位置呢?
认证0级讲师
self.viewはナビゲーションコントローラーに配置されたビューであり、ナビゲーションバーも同じなので同等ですが、ナビゲーションバーがself.viewのサブビューであるわけではないので当然仕方がありません。 self.view のナビゲーション バー内のサブ項目の位置を計算します。
計算したいのはwindowやnavigationController.view内の項目の位置だと思いますよね?
ビューのデバッグを使用すると、さまざまなビュー間の階層関係を確認できます。
リーリー
frameInNaviView が必要です
テストの結果、次のことが判明しました:
これは確かに正しい位置を取得できますが、iPad でテストしたところ、同じコードで {{0, 0}, {44, 44}} という結果が得られたことがわかりました。これは別の新しい質問につながるようです。 : iPhone では正しいのに iPad では正しくないのはなぜですか?
self.viewはナビゲーションコントローラーに配置されたビューであり、ナビゲーションバーも同じなので同等ですが、ナビゲーションバーがself.viewのサブビューであるわけではないので当然仕方がありません。 self.view のナビゲーション バー内のサブ項目の位置を計算します。
計算したいのはwindowやnavigationController.view内の項目の位置だと思いますよね?
ビューのデバッグを使用すると、さまざまなビュー間の階層関係を確認できます。
リーリー
frameInNaviView が必要です
テストの結果、次のことが判明しました:
リーリーこれは確かに正しい位置を取得できますが、iPad でテストしたところ、同じコードで {{0, 0}, {44, 44}} という結果が得られたことがわかりました。これは別の新しい質問につながるようです。 : iPhone では正しいのに iPad では正しくないのはなぜですか?