在我的Mac應用程序中,我已經設置了兩個NSSplitViews來創建一個Mail風格的界面(第一個ScrollView用來創建一個垂直分隔符,第二個嵌套在第一個,創建水平分隔器)。爲了說明界面,我創建瞭如下圖:NSSplitView中的NSTableView框架不正確
alt text http://img96.imageshack.us/img96/1091/setupn.png
爲了進一步說明的設置,這是我的看法層次的註解卡:
alt text http://img714.imageshack.us/img714/8153/yayaj.png
我的問題m的意思是,當試圖抓住NSSplitView的B部分和C部分託管的兩個NSTableView的幀時,我會收到相對座標。下面是我使用的代碼:
NSRect aTableViewFrame = [aTableView frame];
NSRect bTableViewFrame = [bTableView frame];
NSLog(@"%@ %@", NSStringFromRect(aTableViewFrame), NSStringFromRect(aTableViewFrame));
這裏的輸出我看到:
{{0, 0}, {760, 143}} {{0, 0}, {760, 392}}
你可以從返回的NSRect值看,我給出的NSTableView的正確寬度和高度,但我真正追求的是它們相對於父級NSSplitView的位置。當然,我可以使用(許多)IBOutlets並自己構造正確的rect值,但我真正想要的是一種簡單的方法來獲取NSTableView相對於父NSSplitView或包含Window的框架。
+1'convertRect:...'方法是這樣做的正確方法 – 2010-06-27 23:11:47