2012-09-10 6 views
3

나는 앱을 만들고 있는데, 뷰에 대한 버튼의 프레임을 존중해야한다.단추 모양의 프레임을보기로 가져 오는 방법은 무엇입니까?

주석이있는지도보기가 있습니다. 어노테이션을 선택하는 동안 콜 아웃 버블이 표시됩니다. 버튼이 오른쪽 보조보기로 있습니다. 나는 그 버튼을 누를 때 호출되는 선택자를 가지고있다.

이제 뷰의 경계와 관련하여 버튼의 프레임을 가져 오려고합니다. 보기에 단추가있는 위치를 알고 싶습니다. 이를 위해

내가 시도 :

[self.view convertRect:btn.frame fromView:self.view]; 

[self.view convertRect:btn.frame toView:self.view]; 

을 내가 올바른 결과를 얻고 있지 않다.

답변

2

btn.frame 그렇게 self.view가 없습니다 (주석 콜 아웃 버튼의 경우) 버튼의 슈퍼보기 때문에 예상 된 결과를 제공하지 않습니다 fromView에 대한 self.view 전달의 (버튼의) 슈퍼 뷰를 기준으로합니다. 그 코드가 있어야한다 그래서 :

CGRect rect = [self.view convertRect:btn.frame fromView:btn.superview]; 
toView 호출 마찬가지로


, 방법은 btn.frame 때문에 버튼의 슈퍼 뷰를 호출 할 필요하면 (안 self.view)에 상대적입니다 :

CGRect rect = [btn.superview convertRect:btn.frame toView:self.view]; 
관련 문제