NSScrollView无法滚动并调整内容大小Cocoa中的视图不正确



我有一个问题:我在XIB中创建了1个NSCollView。然后,我以编程方式创建了20个NSTextFile,并将它们添加到ScrollView的ContentView中。但当添加多个NStext字段时,滚动视图不会滚动,并且许多NStext字段已被删除,不会显示所有NStextfield。这是我的代码:

IBOutlet NSView *contentView;
IBOutlet NSScrollView *ScrollView;

函数createDynamictextField:

-(void) createLabelDynamic : (int) number andX: (int) x andY : (int) y
{
 for(int i=1; i<=number;i++)
     {
         NSTextField *ssid = [[NSTextField alloc] initWithFrame:NSMakeRect (x,y,150,100)];
         [ssid setStringValue:[NSString stringWithFormat:@"SSID %d :",i]];
         [ssid setSelectable:NO];
         [ssid setEditable:NO];
         [ssid setBordered:NO];
         [ssid setDrawsBackground:NO];
         [ssid setAutoresizingMask:NSViewWidthSizable];
         [contentView addSubview:ssid];
         y -=30;
         [ssid release];
     }
    [ScrollView  setDocumentView :contentView];
}

若NStextField较少,例如2个NSTextFiels,则NStextField的位置不正确。它似乎没有自动调整内容视图适合滚动视图。你能帮我吗?

这样尝试:

-(void) createLabelDynamic : (int) number andX: (int) x andY : (int) y
{
     for(int i=1; i<=number;i++)
     {
         NSTextField *ssid = [[NSTextField alloc] initWithFrame:NSMakeRect (x,y,150,30)];
         [ssid setStringValue:[NSString stringWithFormat:@"SSID %d :",i]];
         [ssid setSelectable:NO];
         [ssid setEditable:NO];
         [ssid setBordered:NO];
         [ssid setDrawsBackground:NO];
         [ssid setAutoresizingMask:NSViewWidthSizable];
         [contentView addSubview:ssid];
         y -=30;
         [ssid release];
     }
    contentView.frame = NSMakeRect(0, 0, 150, y + number * 30);
    [ScrollView  setDocumentView :contentView];
}

最新更新