我有一个分组的UITableView,由于String codeJS =r'''var idMatch = /^#[\w-]*$/,
classMatch = /^\.[\w-]*$/,
htmlMatch = /<.+>/,
singlet = /^\w+$/;''';
的样式,其顶部有额外的间距。在StackOverflow上,我发现以下解决方案效果很好:
.grouped
但是,我有一个var tableHeaderFrame = CGRect.zero
tableHeaderFrame.size.height = CGFloat.leastNormalMagnitude
myTableView.tableHeaderView = UIView(frame: tableHeaderFrame)
,它查找发送方的框架并尝试为其分配正确的部分,如下所示:
UITapGestureRecognizer
我需要使用它来更新我的if let headerView = sender.view?.superview as? MyTableHeader {
let headerLocation = headerView.frame
var pressedSection: Int!
print("header loc: ", headerLocation)
for section in 0 ... tableData.count - 1 {
print(MyTableView.rect(forSection: section))
let sectionRect = MyTableView.rect(forSection: section)
if(sectionRect.contains(headerLocation)) {
pressedSection = section
}
}
}
数组,因为它是删除部分的自定义按钮。但是,当我按下 first 部分中的按钮时,应用程序崩溃了(pressedSection = nil),并且看到了rect的以下输出:
tableData
清楚地指出y位置的怪异值。我认为这是由于(0.0, 1.1754943508222875e-38, 337.5, 207.4468085106383)
导致的,当我删除上述tableHeaderFrame的代码时,错误消失了,但间距又回来了。我该如何解决这两个问题:将帧值设为“正常”并删除顶部填充/空格?