Objective c 更改NSTableView(NSScrollView)帧大小
我有一个自定义视图,其中包含一个Objective c 更改NSTableView(NSScrollView)帧大小,objective-c,cocoa,nstableview,Objective C,Cocoa,Nstableview,我有一个自定义视图,其中包含一个NSTableView。默认情况下,NSTableView包含在NSClipView中,后者包含在NSScrollView中。NSScrollView带有边框,这样我就可以看到NSTableView的轮廓,NSTableView通过IBOutlet变量(“TableView”)连接到其父视图控制器。我想更改NSTableView的大小,据我所知,这是通过更改其封闭的NSScrollView来完成的 根据我在这里或其他地方找到的答案,我尝试了以下命令,但不起作用:
NSTableView
。默认情况下,NSTableView
包含在NSClipView
中,后者包含在NSScrollView
中。NSScrollView
带有边框,这样我就可以看到NSTableView
的轮廓,NSTableView
通过IBOutlet
变量(“TableView”)连接到其父视图控制器。我想更改NSTableView
的大小,据我所知,这是通过更改其封闭的NSScrollView
来完成的
根据我在这里或其他地方找到的答案,我尝试了以下命令,但不起作用:
[[[self TableView] enclosingScrollView] setFrameSize:NSMakeSize([[self TableView] enclosingScrollView].bounds.size.width, 10)];
[[[self TableView] enclosingScrollView] setFrame:NSMakeRect(0,0,[[self TableView] enclosingScrollView].bounds.size.width, 10)];
[[self TableView] setFrame:NSMakeRect(0,0,[[self TableView] enclosingScrollView].bounds.size.width, 10)];
什么是正确的命令
(OS X 11.1,XCode 7.1,Objective-C)您使用的是自动布局吗?另外,更改表视图或滚动视图的大小,您真正想要实现什么?它们可以有不同的大小,这正是滚动视图滚动的原因。例如,表格视图可能很大,只显示相对较小的部分,用户可以垂直或水平滚动以查看更多内容。或者,表格视图可以完全放在滚动视图中,在这种情况下它不会滚动。不,我没有使用自动布局。我一直希望它们的大小相同,但我从滚动视图开始,因为它是带边框的,我可以直观地判断它的大小是否已更改。尝试将语句拆分为其组件并记录结果。例如:
NSTableView*tableView=[self tableView];NSLog(@“表视图%@”,表视图);NSScrollView*scrollView=[tableView封闭CrollView];NSLog(@“滚动视图%@”,滚动视图)代码>。记录帧,尝试设置它,然后再次记录。最后,当你说“不起作用”时,你需要准确地解释你的预期,实际发生的事情,以及它们之间的区别。谢谢Ken。我所说的“不工作”,是指当我希望看到滚动视图时,滚动视图的大小没有任何视觉变化。您使用的是自动布局吗?另外,更改表视图或滚动视图的大小,您真正想要实现什么?它们可以有不同的大小,这正是滚动视图滚动的原因。例如,表格视图可能很大,只显示相对较小的部分,用户可以垂直或水平滚动以查看更多内容。或者,表格视图可以完全放在滚动视图中,在这种情况下它不会滚动。不,我没有使用自动布局。我一直希望它们的大小相同,但我从滚动视图开始,因为它是带边框的,我可以直观地判断它的大小是否已更改。尝试将语句拆分为其组件并记录结果。例如:NSTableView*tableView=[self tableView];NSLog(@“表视图%@”,表视图);NSScrollView*scrollView=[tableView封闭CrollView];NSLog(@“滚动视图%@”,滚动视图)代码>。记录帧,尝试设置它,然后再次记录。最后,当你说“不起作用”时,你需要准确地解释你的预期,实际发生的事情,以及它们之间的区别。谢谢Ken。我所说的“不工作”,是指当我期望看到滚动视图时,滚动视图的大小没有视觉变化。