Ios UITableView标题的上半部分不存在';t响应-Xcode 7.2/Swift
我有一个非常奇怪的问题,我已经研究了几天了。我有一个UITableView,我正在为每个标题定义自定义视图。它们看起来都很好(不过需要进行大量的调整才能将所有东西都放在正确的位置)。在视图中,我有两个按钮,一个用于展开/折叠节下的行,另一个用于删除节。一切都很好 问题是,实际上只有收割台的底部部分响应轻敲。 实际上,最上面的17.5像素似乎没有响应。我已尝试将按钮子视图带到前面。我尝试用UITapGestureRecognitor替换按钮,并尝试将其放入标题本身和viewDidLoad()中,然后检查点击的区域是否在标题内 我已经定义了标题的框架来填充整个可见的标题区域。我甚至尝试从负位置开始,假设它会溢出标题。 Delete按钮后面的红色背景仅表示该区域正在填充整个标题的可见区域。稍后我将删除红色背景 尽管如此,只有在收割台底部被轻敲时,一切都能正常工作。我完全不知所措。因为所有的东西都有相同的问题,下面只是设置我的头的代码,因为我更愿意这样做。在底部是一个屏幕截图,这样你可以看到一切看 好。任何帮助都将不胜感激 (作为旁注-我以相同的方式创建了每个单元格的视图,并在右侧添加了带铅笔的按钮来编辑单元格的内容…效果很好-您可以点击右侧单元格的整个100%高度,效果很好。我比较了代码,看不出有什么不同。) func tableView(tableView:UITableView,viewForHeaderInSection:Int)->UIView?{Ios UITableView标题的上半部分不存在';t响应-Xcode 7.2/Swift,ios,iphone,swift,uitableview,Ios,Iphone,Swift,Uitableview,我有一个非常奇怪的问题,我已经研究了几天了。我有一个UITableView,我正在为每个标题定义自定义视图。它们看起来都很好(不过需要进行大量的调整才能将所有东西都放在正确的位置)。在视图中,我有两个按钮,一个用于展开/折叠节下的行,另一个用于删除节。一切都很好 问题是,实际上只有收割台的底部部分响应轻敲。 实际上,最上面的17.5像素似乎没有响应。我已尝试将按钮子视图带到前面。我尝试用UITapGestureRecognitor替换按钮,并尝试将其放入标题本身和viewDidLoad()中,
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解决了问题。