tableHeaderView的y位置远低于零

时间:2019-04-27 16:29:19

标签: swift tableview uitapgesturerecognizer tableheader

我有一个分组的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的代码时,错误消失了,但间距又回来了。我该如何解决这两个问题:将帧值设为“正常”并删除顶部填充/空格?

0 个答案:

没有答案