是否可以在NSAlert上使用NSScrollView作为附件?
我想提示用户,并在提示中显示图像列表。
我的想法是显示包含图像的NSScrollView,但当滚动视图显示为NSAlert工作表的一部分时,它会显示,它的内容也是如此,但您无法滚动它。
我不清楚我是否在NSScrollView设置上缺少一些简单的步骤,或者这只是对NSAlert的约束。
非常感谢任何帮助。
以下是相关代码:
NSAlert *alert = [NSAlert alertWithMessageText:prompt
defaultButton:defaultButtonText
alternateButton:altButtonText
otherButton:nil
informativeTextWithFormat:@"%@",infoText];
// create the scrollview
NSScrollView* scrollview = [[NSScrollView alloc] initWithFrame:NSMakeRect(0, 0, 250, imageHeight)];
// fill the scrollview with images
int i = 0;
for (NSImage* image in images)
{
// create a new image view
NSImageView* imageView = [[NSImageView alloc] initWithFrame:NSMakeRect(i*150, 5, 145, 145)];
[imageView setImage:image];
// add the subview to the content view and increase size of contents
[scrollview.contentView addSubview:imageView];
[scrollview.contentView setFrame: NSMakeRect(0,0,(i+1)*150, 155) ];
// increment image counter
i++;
}
// add the scrollview to the alert sheet
[alert setAccessoryView:scrollview];
// show the alert sheet
NSWindow* win = [[[NSApplication sharedApplication] windows] objectAtIndex:0];
[alert beginSheetModalForWindow:win
modalDelegate:delegate
didEndSelector:endselector
contextInfo:nil];
答案 0 :(得分:4)
我认为您要将图像视图添加到滚动视图的文档视图,而不是其内容视图。