В моем приложении Mac я настроил два NSSplitView для создания интерфейса в стиле Mail (первый ScrollView использовался для создания вертикального разделителя, а второй - внутри первого для создания горизонтального разделителя). Чтобы проиллюстрировать интерфейс, я создал следующую диаграмму:
альтернативный текст http://img96.imageshack.us/img96/1091/setupn.png
Чтобы проиллюстрировать настройку, вот аннотированный снимок моей иерархии представлений:
альтернативный текст http://img714.imageshack.us/img714/8153/yayaj.png
Проблема, с которой я столкнулся, заключается в том, что при попытке получить кадры двух NSTableView, размещенных в частях B и C моего NSSplitView, я получаю относительные координаты. Вот код, который я использую:
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 и сам построить правильное значение прямоугольника, но что я действительно ищу, так это простой способ получить кадр NSTableViews относительно родительского NSSplitView или содержащего Window.