要在 NSScrollView 中居中 NSView,可以使用以下步骤:
NSScrollView *scrollView = [NSScrollView alloc initWithFrame:NSMakeRect(0, 0, 100, 100)];
NSView *view = [NSView alloc initWithFrame:NSMakeRect(0, 0, 100, 100)];
scrollView addSubview:view;
在上面的代码中,我们创建了两个 NSView,一个用于显示,一个用于添加到 NSScrollView 中。
NSSize size = view size;
NSScrollView *scrollView = [NSScrollView alloc initWithFrame:NSMakeRect(0, 0, size.width, size.height)];
在上面的代码中,我们获取了显示的 NSView 的大小,并将其用于创建一个新的 NSScrollView。
NSSize size = scrollView.contentSize;
NSView *view = scrollView.contentView viewWithTag:0;
NSSize newSize = view size;
view setSize:newSize;
在上面的代码中,我们获取了 NSScrollView 的内容大小,并使用该大小来调整显示的 NSView 的大小。
NSApp activateIgnoringOtherApps:YES;
NSScrollView *scrollView = [NSScrollView alloc initWithFrame:NSMakeRect(0, 0, size.width, size.height)];
scrollView setHasHorizontalScroller:YES;
scrollView setHasVerticalScroller:YES;
scrollView setDelegate:self;
scrollView setDocumentView:view;
scrollView setSize:newSize;
scrollView setFrame:NSMakeRect(0, 0, size.width, size.height);
self.window setContentView:scrollView;
在上面的代码中,我们创建了新的 NSScrollView,并将其添加到应用程序窗口中。我们还设置了 NSScrollView 的代理和文档视图,并将显示的 NSView 的大小设置为新的 NSScrollView 的大小。
以上步骤完成后,您就可以在 NSScrollView 中居中显示 NSView 了。
算法大赛
云+社区沙龙online [技术应变力]
高校公开课
云+社区沙龙online [新技术实践]
腾讯数字政务云端系列直播
云+社区沙龙online [国产数据库]
领取专属 10元无门槛券
手把手带您无忧上云