2012-09-10 89 views
3

我正在創建一個應用程序,並需要獲得按鈕的框架尊重視圖。如何將按鈕方面的框架添加到視圖中?

我有一個帶有註解的mapview。選擇註釋時會顯示標註泡泡。這有一個按鈕作爲正確的輔助視圖。當我點擊那個按鈕時,我有一個選擇器被調用。

現在我想獲得相對於視圖邊界的按鈕框架。我想知道按鈕在視圖中的位置?

對於我試過:

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

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

,我沒有得到正確的結果。

回答

2

btn.frame是相對於如此傳遞self.viewfromView不會產生預期的結果,因爲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]; 
相關問題