【发布时间】:2016-06-10 10:02:30
【问题描述】:
要显示 20 个按钮中的 8 个。但我不能滚动浏览其余部分?是否应该显示滚动条?
NSScrollView *nssvFonts = [[NSScrollView alloc] initWithFrame:CGRectMake(200, 200, 200, 400)];
[self.view addSubview:nssvFonts];
[nssvFonts.documentView setFrame: NSMakeRect(0,0,200, 400) ];
nssvFonts.hasVerticalScroller = YES;
for(int i = 0; i < 20; i++){
NSButton *btnDown = [[NSButton alloc] initWithFrame:CGRectMake(0, 50 * i, 200, 50)];
[nssvFonts addSubview:btnDown];
[btnDown setButtonType:NSMomentaryPushInButton];
[btnDown setTitle:[NSString stringWithFormat:@"Down: %d", i]];
}
所以我采纳了 Willeke 的建议并进行了添加和更改:
NSScrollView *nssvFonts = [[NSScrollView alloc] initWithFrame:CGRectMake(200, 200, 300, 400)];
[self.view addSubview:nssvFonts];
[nssvFonts.documentView setFrame: NSMakeRect(0,0,200, 1000)];
//[nssvFonts.contentView setFrame:NSMakeRect(0, 0, 200, 400)];
nssvFonts.hasVerticalScroller = YES;
for(int i = 0; i < 20; i++){
NSButton *btnDown = [[NSButton alloc] initWithFrame:CGRectMake(50, 50 * i, 200, 50)];
[nssvFonts addSubview:btnDown];
[btnDown setButtonType:NSMomentaryPushInButton];
[btnDown setTitle:[NSString stringWithFormat:@"Down: %d", i]];
}
但仍然没有显示垂直滚动条,我也无法使用鼠标滚动它...向下 1 个按钮或向下 2 个按钮以提供帮助。
【问题讨论】:
标签: objective-c macos cocoa nsscrollview