Objective c NSScroll按屏幕大小和高度显示视图高度

Objective c NSScroll按屏幕大小和高度显示视图高度,objective-c,cocoa,nsscrollview,Objective C,Cocoa,Nsscrollview,我试图根据窗户的高度动态调整高度 - (void)viewDidAppear{ [super viewDidAppear]; NSRect size = NSMakeRect([[NSScreen mainScreen] frame].size.width - WINDOW_WIDTH, 0, WINDOW_WIDTH, [[NSScreen mainScreen] frame].size.height); [self.view.window setFrame:size

我试图根据窗户的高度动态调整高度

- (void)viewDidAppear{
    [super viewDidAppear];
    NSRect size = NSMakeRect([[NSScreen mainScreen] frame].size.width - WINDOW_WIDTH, 0, WINDOW_WIDTH, [[NSScreen mainScreen] frame].size.height);
    [self.view.window setFrame:size display:true];
    [self.collectionScrollView setFrameSize:NSMakeSize(WINDOW_WIDTH, [[NSScreen mainScreen] frame].size.height)];

编译所有内容都没有问题,但是高度不会改变,并且可以通过大小检查器调整视图。

这里有很多错误。首先,您使用的是自动布局吗?第二个主屏幕可能没有用。您需要view.window.screen,但如果重叠屏幕,则不会有帮助。这只是开始。是的,我正在使用自动布局。[self.view.window setFrame:大小显示:true];很好。它通过屏幕分辨率设置窗口高度。我对[self.collectionScrollView setFrameSize:NSMakeSize(窗口宽度,[[NSScreen mainScreen]frame].size.height]有问题;我尝试通过[self.collectionScrollView setFrameSize:NSMakeSize(3001000)手动设置大小,但没有效果。因此,当视图使用自动布局时,问题永远不会设置帧。