gpt4 book ai didi

objective-c - NSScrollView 在 Cocoa 中不滚动且 contentView 大小不正确

转载 作者:行者123 更新时间:2023-12-03 17:12:27 26 4
gpt4 key购买 nike

我有一个问题:我在 XIB 中创建了 1 个 NSScollView。然后我以编程方式创建 20 个 NSTextFile 并将它们添加到 ScrollView 的 ContentView 中。但是当添加多个NStextfield时,scrollview不滚动并且许多NStextfield已被删除,不显示所有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 个 NSTextField,则 NSTextField 的位置不正确。似乎不能自动调整 contentView 的大小以适合 ScrollView。你能帮我吗?

最佳答案

尝试这样:

-(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];
}

关于objective-c - NSScrollView 在 Cocoa 中不滚动且 contentView 大小不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17878193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com