2012-08-27 203 views
0

我想將多個視圖鏈接在一起,並自動將內容從一個視圖流向另一個視圖。想想文本容器如何工作以及它們的內容如何跨越容器。有沒有人有一個想法如何做到這一點?如何鏈接NSView來模擬分頁?

+0

什麼樣的內容? – paulmelnikow

+0

它會自動跨越子視圖(NSViews)。 – panupan

回答

0

您可以從頭開始構建類似這樣的事情,使用管理一組容器視圖的佈局管理器。

此代碼被設計成垂直調整容器來保存其子視圖:

+ (void)setAndArrangeSubviews:(NSArray *)subviews inView:(NSView *)superview { 
    [superview setSubviews:subviews]; 

    NSRect superviewFrame = [superview frame]; 
    CGFloat y = superviewFrame.size.height; 
    for (NSView *subview in subviews) { 
     NSRect subviewFrame = [subview frame]; 
     subviewFrame.origin.y = (y -= subviewFrame.size.height); 
     [subview setFrame:subviewFrame]; 
    } 
} 

你能適應它來完成你想要的:排列子視圖在容器中,直到它的全部,然後安排在剩下的意見下一個容器。

如果你只需要垂直堆疊視圖,這似乎是一個足夠簡單的方法來完成你想要的。

對此related question的回答指的是稱爲Cocoa Auto Layout的10.7功能,該功能可能提供了一種更自動的方式來完成此操作,如果需要將它們放在2D中,可能需要進行調查。