0
viewControllerのビューの座標系でnavigationItemのtitleViewのフレームを取得するにはどうすればよいですか?ナビゲーション項目のタイトルviewcontrollerビューで表示
if let navBarHeight = navigationController?.navigationBar.frame.height,
let navBarWidth = navigationController?.navigationBar.frame.width {
myCustomTitleView.frame = CGRect(x: 0, y: 0, width: navBarWidth, height: navBarHeight)
navigationItem.titleView = myCustomTitleView
}
ただし、myCustomTitleViewのフレーム原点を確認すると、(0、0)が得られます。
私はこの起源をviewcontrollerのビューに翻訳しようとしました。私が得たのは(0、-44)で、ナビゲーションバーの高さを考慮していましたが、xオフセットは考慮されていませんでした。
let originInVCView = view.convert(myCustomTitleView.frame.origin, from: myCustomTitleView)
titleViewには明らかにオフセット(戻るボタン用のスペース)があるため、これは正しくありません。
翻訳されたタイトルビューの原点を正しく抽出するにはどうすればよいですか?
それがnilではありません。私は起源を得ている、それはviewcontrollerのビューに関してはちょうど間違っている – meowmeowmeow
偉大な - ちょうど確かめることを試みる。 navigationItem.titleViewが適切に初期化されていれば、その時点でvcがサブビューを適切に配置しているので、viewDidAppearの次元が見つかります。 – caxix