2010-01-27 45 views
0

我已經計算了紙張上的位置和偏移量。我編寫了代碼並進行了調試,以獲得預期的結果。但在iPhone模擬器上的東西重疊約15像素。如何在iPhone模擬器屏幕上測量UI對象的位置

繼續我的調試,我需要知道UI對象在屏幕上的位置。

相關彈出搜索鍵盤和調整大小靜態之間的UISearchBar一個UITableView和動態添加UITabBar(表視圖被嵌入到標籤中的一個)。不,我真的不想使用任何硬編碼值由於旋轉和不同的屏幕尺寸。

我怎樣才能找到這個?

- (void)keyboardWasShown:(NSNotification*)aNotification 
{ 
if (self.keyboardShown) 
    return; 

// Get keyboard dimensions 
NSDictionary* info = [aNotification userInfo]; 
NSValue* aValue = [info objectForKey:UIKeyboardBoundsUserInfoKey]; 
CGSize kbSize = [aValue CGRectValue].size; 
NSValue* endValue = [info objectForKey:UIKeyboardCenterEndUserInfoKey]; 
CGPoint endCenter = [endValue CGPointValue]; 

CGRect frame = myView.frame; 
frame.size.height = endCenter.y - kbSize.height/2 - frame.origin.y; 

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:0.2]; 

myView.frame = frame; 

[UIView commitAnimations]; 

self.keyboardShown = YES; 
} 

...代碼以防萬一有明顯是錯誤我看不到了......

+0

很抱歉,找不到答案的代碼部分:http://gargantuchet.blogspot.com/2009/12/i-came-across-post-updating -uiview-to.html但是STILL想知道如何在模擬器屏幕上知道UI對象的確切位置。 – JOM 2010-01-27 13:16:41

回答

1

你最好的選擇可能是的UIView的convertPoint:toView:。要找出一個給定的視圖位置,請使用:

CGPoint myPoint = [myView convertPoint:CGPointMake(0, 0) toView:((YourAppDelegate *)[[UIApplication sharedApplication] delegate]).window]; 
+0

偉大的提示,比我一直在尋找更好! – JOM 2010-02-01 12:32:12

相關問題