2011-09-15 76 views
2

我想在字典中添加一個子視圖(查看從NSViewController)每個元素的NSScrollView拿到實物的tableview的,但在細胞上更大的靈活性。大量的意見添加到NSScrollView

是否有可能放置(編程),例如下面有100個子視圖,以便您必須向下滾動NSScrollView才能看到最後一個元素?

在先進的感謝, Grolior

回答

3

簡短的回答是肯定的。我之前做過這個,我向你保證它會起作用。請允許我向您保證它不像看起來那麼簡單;)

執行此操作的方法是維護一個內容視圖,其中以編程方式將所有自定義行添加爲子視圖。請注意,您將不得不之前調整內容查看將所有的行,或者你將不得不關閉自動尺寸爲行意見。將你的scrollViewdocumentView設置爲這個自定義的contentView,你應該很好走。

+0

「......要麼... ...前調整內容查看或...關閉自動尺寸......」你能不能解釋一下?你爲什麼要這樣做? –

+0

@克里斯頁:如果添加一串子視圖到父視圖,然後調整該父視圖,子視圖將根據其自動尺寸口罩設置的標誌自動調整。例如,考慮設置爲自動調整大小的行視圖,最初高度爲100像素。當您將其中的10個添加到僅500像素高的contentView中,然後將contentView的大小調整爲1000像素高時,每行將調整爲200像素高。 –

1

是,簡單地以編程方式使用初始化的觀點(即)

NSView *subView = [[NSView alloc] initWithFrame:CGRectMake(10,10,100,100)]; 

然後添加到主視圖的主要使用方法addSubview:
記住手動釋放子視圖當你用它做(這意味着,當你把它添加到主視圖)。

作爲例子,你可以這樣做

int height x = 10, y = 10, width = 100, height = 100; 

for(int i = 0;i<100;i++) { 
    NSView *subView = [[NSView alloc] initWithFrame:CGRectMake(x,y + height*i,width,height)]; 
    [scrollView addSubview:subView]; 
    [subView release]; 
}