3

NSViewController辞書のすべての要素に対して1つのサブビュー(からのビュー)をに追加しNSScrollViewて、一種のテーブルビューを取得しようとしていますが、セルに対してはるかに柔軟性があります。

NSScrollView最後の要素に到達するために下にスクロールする必要があるように、たとえば100個のサブビューを互いに(プログラムで)配置することは可能ですか?

4

2 に答える 2

4

簡単な答えはイエスです。私は以前にこれを行いました、そして私はあなたにそれがうまくいくことを保証します。また、見た目ほど単純ではないことを保証します;)

これを行う方法は、1つのコンテンツビューを維持することです。このビューでは、プログラムですべてのカスタム行をサブビューとして追加します。すべての行を追加する前にcontentViewのサイズを変更するか、行ビューの自動サイズ変更をオフにする必要があることに注意してください。のをこのカスタムcontentViewに設定するdocumentViewと、scrollView準備が整います。

于 2011-09-15T18:42:08.563 に答える
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];
}
于 2011-09-15T18:40:07.643 に答える