我在UITableViewCell内的一些TextField有问题;我在表格单元格中有两个文本字段,当我点击textField时,一切正常,如您在这两个屏幕截图中所见
1。
红色方块中的数字是我的UITextField,当我点击其中一个时,它可以正常工作
但是当我单击另一个textField时,整个单元格都这样消失
点击其他文本字段后,我有一个空白
我没有实现任何功能,只有一个可以更改字体和textColor的功能
func setPickers() {
self.hourPicker.delegate = self
self.minutePicker.delegate = self
hourPicker.textColor = theme.grey
minutePicker.textColor = theme.grey
hourPicker.background = UIImage()
minutePicker.background = UIImage()
hourPicker.textAlignment = .center
minutePicker.textAlignment = .center
hourPicker.font = UIFont(name: "Roboto-Regular", size: 48)
minutePicker.font = UIFont(name: "Roboto-Regular", size: 48)
}
这是我的故事板上的单元格
编辑2 看一下我的图形调试,发现bug之前显示的内容
之后
该单元格称为EventDetailFooterTableViewCell
编辑3 这是我为页脚初始化cellView的地方
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let cell = tableView.dequeueReusableCell(withIdentifier: "footerCell") as! EventDetailFooterTableViewCell
cell.event = self.event
cell.delegate = self
cell.setView()
cell.backgroundColor = theme.mainColor
return cell
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
var height: CGFloat = 180.0
var calendar = NSCalendar.current
calendar.timeZone = TimeZone(abbreviation: "UTC")! //OR NSTimeZone.localTimeZone()
let dateAtMidnight = calendar.startOfDay(for: Date())
let todayLong = dateAtMidnight.millisecondsSince1970
if let eventDay = event.dateTime?.millisecondsSince1970 {
if eventDay >= todayLong {
height = 280
}
}
return height
}
答案 0 :(得分:2)
我看到一个问题。您将常规单元格用作节的页脚,这就是为什么您会看到不可预测的行为的原因。您应该改用UITableViewHeaderFooterView。如果您确实需要这样的设计。更好的解决方案是删除页脚并使其成为单元格。