我有一个问题:我在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];
}