gpt4 book ai didi

cocoa - NSScrollView 是如何工作的?

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

NSScrollView 在 Mac 应用程序中如何工作?我编写了以下代码,但滚动不起作用。

NSDictionary *temp=[[ NSDictionary alloc] init  ];
NSScrollView *scroll = [[NSScrollView alloc ] initWithFrame:CGRectMake(0, 0, 100, 100)];
NSArray *dicArray=[NSArray arrayWithObjects:dict,dict1,dict2,dict3,dict4, nil];

for (int i=0; i<[dicArray count]; i++)
{
int offset=100;
int x=10;
int y=20;
y=y+(i*offset);
temp= [dicArray objectAtIndex:i];

NSRect titleRect=NSMakeRect(x,y,100,30);
NSRect subtitleRect=NSMakeRect(x, y+20, 400, 20);

NSTextField *title=[[NSTextField alloc] initWithFrame:titleRect];

[[title cell] setStringValue:[temp objectForKey:key]];

[[title cell] setWraps:NO];
[[title cell] setScrollable:YES];
[[title cell] setEditable:NO];
[[title cell] setFont:[NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSMinusSetExpressionType]]];
[title setDrawsBackground:NO];
[title setBordered:NO];

NSTextField *subtitle=[[NSTextField alloc] initWithFrame:subtitleRect ];
[[subtitle cell] setStringValue:[temp objectForKey:subkey]];
[[subtitle cell] setWraps:NO];
[[subtitle cell] setScrollable:YES];
[[subtitle cell] setEditable:NO];
[[subtitle cell] setFont:[NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSMiniControlSize]]];
[subtitle setDrawsBackground:NO];
[subtitle setBordered:NO];
[scroll addSubview:title];
[scroll addSubview:categoryOkButton];
[scroll addSubview:subtitle];


}
[[self window] setContentView:scroll];
[scroll release];

最佳答案

我的 Cocoa 有点生疏,但 NSScrollView 的工作方式与 UIScrollView 不同。您不只是添加 subview ,这不适用于 NSScrollView

您需要的是一个容器 View ,您可以在其中添加所有 subview 。因此,您创建一个适当大小的 NSView 并将所有 View 添加到该容器 View 中。然后你设置:

[myScrollView setDocumentView:myContainerView];

请参阅Scroll View Programming Guide了解更多详情。

关于cocoa - NSScrollView 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5802059/

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