2010-07-20 181 views
1

我的窗口結構如下:NSWindow - > NSView - > NSTabView - > NSScrollView - > NSTextView。如果我使用setFrameSize更改NSScrollView的大小:superviews/window不會調整大小以容納我的更大或更小的NSScrollView。是否有可能以編程方式讓窗口等自動調整大小,當我設置子視圖的大小,或者我需要以某種方式計算所有的UI組件的大小和調整窗口本身?預先感謝您的幫助或指導。調整子視圖的大小並調整大小/窗口大小

回答

3

有沒有內置的方式來做到這一點。你必須自己計算大小。假設層次結構中的所有視圖都設置爲正確自動調整大小,則可以更改窗口的框架並讓自動調整大小來完成其工作。

+1

感謝Joshua。現在至少我可以停止搜索這些不存在的方法。 :) – stdout 2010-07-21 11:45:05

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; 
    } 
}