如何增加UITableView部分标题视图和第一个单元格之间的差距?

时间:2015-01-21 22:39:22

标签: ios cocoa-touch uitableview swift

我添加了一个UISegmentedControl作为我的标题视图。现在我的第一个第一个tableView单元格的顶部被截断,如图所示。

enter image description here

有没有办法解决这个问题?

我尝试使用tableView insets和scrollView,但没有运气。

在我的viewDidLayoutSubviews中,我取消了高度修复它:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    var frame = segmentedControl.frame
    frame.size.height = 29.0
    segmentedControl.frame = frame
    segmentedControl.tintColor = ColourHelper().segmentedControlRed
    segmentedControl.backgroundColor = UIColor.whiteColor()
    segmentedControl.selectedSegmentIndex = 1
    segmentedControl.addTarget(self, action: "segmentedControlTapped:", forControlEvents: UIControlEvents.ValueChanged)
    tableView.headerViewForSection(1)?.hidden = true
}

但是现在我的UISegmentedControl的高度与我应用中的其他分段控件不匹配。

enter image description here

1 个答案:

答案 0 :(得分:0)

我不需要手动设置框架,如我的问题所示。我删除了该代码:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    segmentedControl.tintColor = ColourHelper().segmentedControlRed
    segmentedControl.backgroundColor = UIColor.whiteColor()
    segmentedControl.selectedSegmentIndex = 1
    segmentedControl.addTarget(self, action: "segmentedControlTapped:", forControlEvents: UIControlEvents.ValueChanged)
    tableView.headerViewForSection(1)?.removeFromSuperview()

}

然后像这样设置标题的高度:

override func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    return 29.0
}