2010-07-20 3 views
1

Мое окно структурировано так: NSWindow -> NSView -> NSTabView -> NSScrollView -> NSTextView. Если я изменил размер NSScrollView с помощью setFrameSize: окно superiews/не изменяет размер, чтобы разместить мой большой или меньший NSScrollView. Можно ли программно иметь Window и т. Д. Автоматически изменять размер, когда я устанавливаю размер подвью или мне нужно как-то рассчитать размер всех компонентов пользовательского интерфейса и изменить размер самого окна? Заранее благодарим за любую помощь или руководство.Изменение размера подвью и просмотр/изменение размера окна

ответ

3

Для этого не существует встроенного способа. Вы сами должны сами вычислить размеры. Предполагая, что все представления в вашей иерархии настроены на автоматическое изменение размера, вы можете просто изменить рамку окна и позволить автоматическое изменение размера выполнять свою работу.

+1

спасибо Иисусу. Теперь, по крайней мере, я могу остановить поиск этих несуществующих методов. :) – stdout

0

Создать категорию на UIView со следующим методом:

- (void) resizeSuperviewsToContain { 
    UIView* view = self; 
    while(view.superview) { 
     CGFloat maxY = CGRectGetMaxY(view.frame); 
     CGRect superViewFrame = view.superview.frame; 
     if(superViewFrame.size.height < maxY) { 
      superViewFrame.size.height = maxY; 
      view.superview.frame = superViewFrame; 
     } 
     view = view.superview; 
    } 
} 
Смежные вопросы