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의 탐색 표시줄에 있는 하위 항목의 위치입니다.
계산하려는 것은 창이나 NavigationController.view에 있는 항목의 위치인 것 같은데요?
뷰 디버깅을 사용하면 다양한 뷰 간의 계층적 관계를 확인할 수 있습니다.
으아악
frameInNaviView가 필요합니다
테스트 결과 발견된 내용은 다음과 같습니다.
이것은 실제로 올바른 위치를 얻을 수 있지만 iPad에서 테스트한 결과 동일한 코드가 {{0, 0}, {44, 44}} 결과를 얻은 것으로 나타났습니다. 이는 또 다른 새로운 질문으로 이어지는 것 같습니다. : iPhone에서는 정확하지만 iPad에서는 그렇지 않은 이유는 무엇입니까?
self.view는 네비게이션 컨트롤러에 배치된 뷰이고, 네비게이션 바가 동일하므로 동일하다고 네비게이션 바가 self.view의 하위 뷰라는 뜻은 아니므로 당연히 방법이 없습니다. self.view의 탐색 표시줄에 있는 하위 항목의 위치입니다.
계산하려는 것은 창이나 NavigationController.view에 있는 항목의 위치인 것 같은데요?
뷰 디버깅을 사용하면 다양한 뷰 간의 계층적 관계를 확인할 수 있습니다.
으아악
frameInNaviView가 필요합니다
테스트 결과 발견된 내용은 다음과 같습니다.
으아악이것은 실제로 올바른 위치를 얻을 수 있지만 iPad에서 테스트한 결과 동일한 코드가 {{0, 0}, {44, 44}} 결과를 얻은 것으로 나타났습니다. 이는 또 다른 새로운 질문으로 이어지는 것 같습니다. : iPhone에서는 정확하지만 iPad에서는 그렇지 않은 이유는 무엇입니까?