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"
}
Другие вопросы по тегам