如何在另一个表视图的表头中动态调整tableview的大小?

时间:2016-06-01 17:38:30

标签: ios swift uitableview

背景
我有一个与获取结果控制器绑定的表视图。我想在前面添加一个包含三个单元格的部分,显示附近的地方"。由于这与获取的结果控制器无关,因此附近的场所表视图位于第一个表视图的标题内。旁注 - 我这样做是因为第一个表视图与FRC紧密相关,之前尝试将此自定义部分添加到第一个表视图中的尝试非常糟糕,SO上的帖子声明试图使这个工作太苛刻了,在标题中做我想做的事情会更好。

话虽如此,我的布局看起来像这样:

  • "首先"表视图
    • 标题
      • 搜索控制器
      • 细分控制
      • 附近的地方表格视图

我现在所处的位置
我想要附近的地方桌子视图和"第一个"要缩小的表视图标题,以便只有搜索控制器和段控件可见。我怎样才能做到这一点?为了测试,我在viewDidLoad中放

 ID | PERSON  | START         |    END          |  OP   |TYPE 
 1  |2001668  |27/04/2016 22:58|27/04/2016  22:59|5901430|19 
 2  |2001668  |27/04/2016 23:00|27/04/2016  23:19|5901430|19
 3  |2001326  |20/11/2009 04:16|20/11/2009  04:27|5901444|21
 4  |2001668  |28/04/2016 11:19|28/04/2016  11:32|5901430|19

然后分段控制就消失了!我已经将分段控件的顶部约束设置为距离搜索控制器8px,因此不确定这里发生了什么。事实上,这确实改变了表头的高度。另外,做

PERSON | START          |    END          |  OP   |TYPE 
2001668 |27/04/2016 22:58|27/04/2016  11:19|5901430|19
2001326 |20/11/2009 04:16|20/11/2009  04:27|5901444|21 
2001668 |28/04/2016 11:19|28/04/2016  11:32|5901430|19

没有更改标题内附近场所表格视图的高度。

2 个答案:

答案 0 :(得分:0)

使用此

对于Exp:

  function slReceive1() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Salt Lake Receive");
  var lr = ss.getLastRow();
  var valuesL = sheet.getRange("L2:L"+lr ).getValues();
  var valuesO = sheet.getRange("O2:O"+lr ).getValues();
  for (var i = 0; i < valuesL.length ; i++){
    if (valuesL[i][0] == 0){
          valuesO[i][0] = 0;
      }}
  var insertRange = sheet.getRange("O2:O"+lr);
  insertRange.setValues(valuesO);
}

答案 1 :(得分:0)

我通过以下方式让这个工作 -

tableView.tableHeaderView!.frame = CGRectMake(0, 0, self.view.frame.size.width, 100)
nearbyPlacesHeight.constant = 0

分段控制不起作用的笨拙是通过给它一个固定的高度来解决的。