ios:如何获取导航栏中rightBarButtonItem对应self.view的坐标?
PHP中文网
PHP中文网 2017-04-18 09:05:01
0
3
1061

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

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

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

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

PHP中文网
PHP中文网

认证0级讲师

全員に返信(3)
迷茫

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

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

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

いいねを押す +0
PHPzhong

リーリー

frameInNaviView が必要です

いいねを押す +0
迷茫

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

リーリー

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート