Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UITableView标题的上半部分不存在';t响应-Xcode 7.2/Swift_Ios_Iphone_Swift_Uitableview - Fatal编程技术网

Ios UITableView标题的上半部分不存在';t响应-Xcode 7.2/Swift

Ios UITableView标题的上半部分不存在';t响应-Xcode 7.2/Swift,ios,iphone,swift,uitableview,Ios,Iphone,Swift,Uitableview,我有一个非常奇怪的问题,我已经研究了几天了。我有一个UITableView,我正在为每个标题定义自定义视图。它们看起来都很好(不过需要进行大量的调整才能将所有东西都放在正确的位置)。在视图中,我有两个按钮,一个用于展开/折叠节下的行,另一个用于删除节。一切都很好 问题是,实际上只有收割台的底部部分响应轻敲。​ 实际上,最上面的17.5像素似乎没有响应。我已尝试将按钮子视图带到前面。我尝试用UITapGestureRecognitor替换按钮,并尝试将其放入标题本身和viewDidLoad()中,

我有一个非常奇怪的问题,我已经研究了几天了。我有一个UITableView,我正在为每个标题定义自定义视图。它们看起来都很好(不过需要进行大量的调整才能将所有东西都放在正确的位置)。在视图中,我有两个按钮,一个用于展开/折叠节下的行,另一个用于删除节。一切都很好

问题是,实际上只有收割台的底部部分响应轻敲。​ 实际上,最上面的17.5像素似乎没有响应。我已尝试将按钮子视图带到前面。我尝试用UITapGestureRecognitor替换按钮,并尝试将其放入标题本身和viewDidLoad()中,然后检查点击的区域是否在标题内

我已经定义了标题的框架来填充整个可见的标题区域。我甚至尝试从负位置开始,假设它会溢出标题。 Delete按钮后面的红色背景仅表示该区域正在填充整个标题的可见区域。稍后我将删除红色背景

尽管如此,只有在收割台底部被轻敲时,一切都能正常工作。我完全不知所措。因为所有的东西都有相同的问题,下面只是设置我的头的代码,因为我更愿意这样做。在底部是一个屏幕截图,这样你可以看到一切​看​ 好。任何帮助都将不胜感激

(作为旁注-我以相同的方式创建了每个单元格的视图,并在右侧添加了带铅笔的按钮来编辑单元格的内容…效果很好-您可以点击右侧单元格的整个100%高度,效果很好。我比较了代码,看不出有什么不同。)

func tableView(tableView:UITableView,viewForHeaderInSection:Int)->UIView?{

    let headerBar = UITableViewHeaderFooterView()

    var buttonY = CGFloat(0)

    var buttonH = CGFloat(0)

    var xY = CGFloat(0)

    let hLabel = UILabel()

    hLabel.text = prayerListSectionNames[section].uppercaseString

    if section == 0 {

        hLabel.frame = CGRectMake(tablePrayer.frame.origin.x + 20, 14, hLabel.frame.width, 20)

        buttonY = 0

        buttonH = 0

        xY = 12

    } else {

        hLabel.frame = CGRectMake(tablePrayer.frame.origin.x + 20, -8, hLabel.frame.width, 20)

        buttonY = -18

        buttonH = 18

        xY = 10

    }

    hLabel.font = UIFont.boldSystemFontOfSize(14)

    hLabel.textAlignment = .Center

    hLabel.sizeToFit()

    headerBar.addSubview(hLabel)

    let deleteButton = UIButton()

    let imgX = UIImageView(image: UIImage(named:"red white x.png"))

    imgX.frame = CGRectMake(2, xY, 15, 15)

    imgX.contentMode = .ScaleAspectFit

    deleteButton.addSubview(imgX)

    deleteButton.imageView?.image = UIImage(named:"red white x.png")

    let buttonX = tablePrayer.frame.origin.x + tablePrayer.frame.width - 30

    deleteButton.frame = CGRectMake(buttonX, buttonY, 20, buttonH)

    deleteButton.autoresizingMask = UIViewAutoresizing.FlexibleHeight

    deleteButton.tag = 20000 + section

    deleteButton.addTarget(self, action: "deleteButtonPressed:", forControlEvents: .TouchUpInside)

    deleteButton.backgroundColor = UIColor.redColor()

    headerBar.addSubview(deleteButton)

    let toggleShowButton = UIButton()

    toggleShowButton.frame = CGRectMake(0, 0, tablePrayer.frame.width - 50, buttonH)

    toggleShowButton.addTarget(self, action: "toggleShowPressed:", forControlEvents: .TouchUpInside)

    toggleShowButton.tag = 30000 + section

    headerBar.addSubview(toggleShowButton)

    headerBar.bringSubviewToFront(toggleShowButton)

    headerBar.bringSubviewToFront(deleteButton)

return headerBar
}


您是否尝试使用XCode的3D调试器视图查看按钮上方是否有内容?是的,请使用“调试视图层次结构”工具检查是否有任何透明视图。老实说,我没有检查3D调试器,因为我不知道这是什么。。。显然,我错过了我旅行中的一个重要特征!!然而,我昨晚刚刚设法解决了这个问题,却忘了更新——页眉的上半部分实际上是上一节的页脚,这很奇怪,因为我返回了0作为它们的高度。但在进一步搜索之后,我发现页脚高度返回0.0001解决了问题。