swift: установить пользовательское изображение для каждого раздела в представлении UITable
Я пытаюсь установить изображение для разделов в представлении UITable. но как только я добавлю изображение, заголовок из раздела исчезнет. Вот что я пробовал:
override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
if(section == 0)
{
return "Exam"
}
else if(section == 1)
{
return "Lab"
}
else if(section == 2)
{
return "Vital"
}
else if(section == 3)
{
return "Immunization"
}
return ""
}
Теперь для каждого раздела я хочу добавить одно и то же изображение, и я сделал это:
override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let button = UIButton(frame: CGRectMake(5,10,15,15)) // create button
button.tag = section
button.center = CGPointMake(320.0, 480.0)
// the button is image - set image
button.setImage(UIImage(named: "icoCheckCircle"), forState: UIControlState.Normal)
let tapOnCardCell: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(HHLabTestExaminationViewController.handleTapOnSectionImage(_:)))
button.addGestureRecognizer(tapOnCardCell)
return button
}
Проблема в том, что заголовок раздела исчезает, когда я держу кнопку
1 ответ
//use this two delegate
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: "your expected headerview height")
let button = UIButton(frame: CGRectMake(5,10,15,15)) // create button
button.tag = section
button.center = headerView.center
headerView.addSubview(button)
// the button is image - set image
button.setImage(UIImage(named: "icoCheckCircle"), forState: UIControlState.Normal)
let tapOnCardCell: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(HHLabTestExaminationViewController.handleTapOnSectionImage(_:)))
button.addGestureRecognizer(tapOnCardCell)
return headerView
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return "your expected header"
}