Iphone 如何以编程方式在UITableView中添加视图?

Iphone 如何以编程方式在UITableView中添加视图?,iphone,cocoa-touch,uitableview,uiview,ios5,Iphone,Cocoa Touch,Uitableview,Uiview,Ios5,在界面生成器中,将UIView添加到UITable并正确显示它非常容易,只需拖放即可完成。但现在这将是可选的,所以它必须以编程方式放置 以下是它在界面生成器中的外观: 当我将新视图添加为子视图时,它显示在UITableView-内容的顶部,但是内容应该有一些偏移。我使用以下代码进行了尝试: self.scrollView.frame = CGRectMake(0, -140, self.scrollView.frame.size.width, self.scrollView.frame.siz

在界面生成器中,将
UIView
添加到
UITable
并正确显示它非常容易,只需拖放即可完成。但现在这将是可选的,所以它必须以编程方式放置

以下是它在界面生成器中的外观:

当我将新视图添加为子视图时,它显示在
UITableView
-内容的顶部,但是内容应该有一些偏移。我使用以下代码进行了尝试:

self.scrollView.frame = CGRectMake(0, -140, self.scrollView.frame.size.width, self.scrollView.frame.size.height);
[self.tableView addSubview:self.scrollView];
[self.tableView setContentInset:UIEdgeInsetsMake(140,0,0,0)];
[self.tableView setContentOffset:CGPointMake(0, -140) animated:NO];

这似乎有效,它正确地显示了。。但当我向下滚动时,节标题保持在距顶部140像素的位置。所以我猜我使用了错误的方法,但我完全不知道如何修复它。谁能帮我往正确的方向推一推吗?

好吧,我觉得自己很愚蠢。经过几个小时的努力,我想到了一件事。。只是检查了.xib文件的源代码,并将有子视图的文件与没有子视图的文件进行了比较。出现了以下情况:

  • UIView
    UITableView
    的子视图的一部分
  • 添加了以下引用:
因此,将代码更改为:

[self.tableView addSubview:self.scrollView];
[self.tableView setTableHeaderView:self.scrollView];

而且它有效

您的意思是自动打开添加到tableView的视图。HeaderView?必须将
tableHeaderView
属性设置为我的标题视图。不知道是否需要添加子视图:,可能不需要。