Доступ к каждому заголовку и элементам управления в виде таблицы в Swift

У меня есть UITableView с настроенным заголовком. В этом заголовке у меня есть кнопка с изображением.

 func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

    let cView = UIView(frame: CGRectMake(0, 0, tableView.frame.size.width, 40))

    itemNumBtn = UIButton(frame: CGRectMake(0, 0, 70, 42))
    itemNumBtn.setBackgroundImage(UIImage(named: "hide.png"), forState: .Normal)
    cView.addSubview(itemNumBtn)

    return cView
}

У меня есть пять заголовков.

в отдельной функции, как можно получить изображение каждой кнопки, необходимо получить доступ к каждой кнопке

Пример:

fun getHeader() {
    // how to access each header and buttons
    var eachBtn = each button in the header
    var image = all the images of all header section
}

заранее спасибо

1 ответ

Решение

Чтобы получить button а также image от headerВы можете реализовать индивидуальные UIView за header, лайк

class HeaderView: UIView {
    var button: UIButton
    var image: UIImage

    func init() {
        ...
    }
} 

И вернуть это HeaderView в вашем tableView(tableView: UITableView, viewForHeaderInSection section: Int) Перезвоните.

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    return HeaderView()
}

Тогда используйте tableView.headerViewForSection(section:) чтобы получить 5 настраиваемых заголовков.

func getHeaders() {

    for index in 1...5 {
         let header = tableView.headerViewForSection(section: index) as! HeaderView
         let button = header.button
         let image = header.image
    }
}
Другие вопросы по тегам