Правильные изменения не повлияли на фон заголовка раздела таблицы. - PullRequest
0 голосов
/ 07 января 2019

У меня есть табличное представление с 12 разделами, и у каждого раздела есть заголовок раздела. Я установил цвет фона заголовка с альфа-компонентами (для прозрачности). Я получил прозрачность для 11 разделов, но не попал на 12-й раздел, и когда я перетаскивал tableView вниз затем 11-й также получил тот же цвет, что и 12-й, и вот так, если я перетащу также ту же задачу на 1,2.

Я пытался сделать тот же код в ячейке для на indexPath, потому что этот метод вызывается, когда я перетаскиваю tableView, но я не получаю

func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {

    //recast your view as a UITableViewHeaderFooterView
    print("will display header view")
    let header: UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView
    header.contentView.backgroundColor = UIColor.colorWithHexString(hexStr: "#408000").withAlphaComponent(0.2)

}

1 Ответ

0 голосов
/ 07 января 2019

Вы можете реализовать эту функцию следующим образом:

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

        let headerView = UIView(frame: CGRect(x: 0, y: 0, width: self.tblViewShoppingCart.frame.size.width, height: 40))
        headerView.backgroundColor = UIColor.white
        let lblOrderDetails = UILabel(frame: CGRect(x: 15, y: 10, width: self.tblViewShoppingCart.frame.size.width, height: 30))
        lblOrderDetails.text = "ORDER DETAILS"
        lblOrderDetails.font = GLOBAL_CONSTANT.FONT_SEMIBOLD(size: 14)
        lblOrderDetails.textColor = UIColor.lightGray
         headerView.addSubview(lblOrderDetails)
        let lblSeparator = UILabel(frame: CGRect(x: 0, y: lblOrderDetails.frame.maxY , width: self.tblViewShoppingCart.frame.size.width, height: 1))
        lblSeparator.backgroundColor = tableView.separatorColor
        headerView.addSubview(lblSeparator)
        return headerView
    } 
}

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {

      return 40

}

Вы можете написать дизайн UITableViewHeaderFooterView в методе делегата viewForHeaderInSection. Надеюсь, это поможет вам. спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...