我有一个简单的UITableViewController
,其中包含一组数据,员工的名字和姓氏。我创建了一个自定义标题原型单元格,只有一个Label来设置标题标题。
然而问题是,当桌面上的标题单元格中的用户“长按”时,应用程序崩溃。
在附加的屏幕截图中,当“长按”时,Header0,Header1,Header3,Header4,应用程序崩溃。 但是,红色椭圆中标记的标题部分是标题的简单UIView,但没有任何标签或任何控件。奇怪的是如果用户“长按”这个空头,应用程序不会崩溃。
标题视图的代码
override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
if ( section == 2 ){
var emptyView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.bounds.width, height: 50))
return emptyView
}
let cell = tableView.dequeueReusableCellWithIdentifier("HeaderCell") as! UITableViewCell
let c = cell as! HeaderTableViewCell
c.contentView.backgroundColor = UIColor.darkGrayColor()
c.headerTextLabel.text = "Header" + toString(section)
return c.contentView
}
想知道发生了什么。我最近将Xcode更新为6.3,其中包含Swift 1.2。如何解决这个问题?
非常感谢任何帮助
在
内答案 0 :(得分:2)
我通过删除单元格内容视图(c.contentView)上的手势来解决此问题。
if let recognizers = c.contentView.gestureRecognizers
{
for recognizer in recognizers {
c.contentView.removeGestureRecognizer(recognizer as! UIGestureRecognizer)
}
}
答案 1 :(得分:0)