我有一个非常奇怪的问题。我需要以编程方式增加我的TableView高度。但是,在宽度或高度方面的程序性框架变化尚未得到应用。还有其他方法可以在Cocoa中更改帧吗?
我正在使用以下代码:
-(IBAction )topButtonClicked:(id)sender{
if(testView.isHidden == NO){
[testView setHidden:YES];
[tableView setFrame:NSMakeRect(0,595, 666,595+120)];
}
else {
[tableView setFrame:NSMakeRect(0,595, 666,595)];
[testView setHidden:NO];
}
}
答案 0 :(得分:4)
默认情况下,表视图包含在滚动视图中,滚动视图配置为自动调整其子视图的大小。这意味着单独更改表视图框将不起作用,因为封闭滚动视图将自动调整它。
您应该改变封闭滚动视图的框架。例如:
[[tableView enclosingScrollView] setFrame:NSMakeRect(0,595, 666,595+120)];
或者您可以在滚动视图中找到一个插座:
[tableScrollView setFrame:NSMakeRect(0,595, 666,595+120)];