Изменение заголовка / нижнего колонтитула раздела UITableView без перезагрузки всего табличного представления

Существуют другие преимущества для наследования также - такие как способность к переменной, чтобы быть в состоянии содержать объект или родительского класса или наследованного класса (не имея необходимость объявлять его как что-то универсальное, как "Объект").

, Например, в.NET WinForms, большинство компонентов UI происходит из Системы. Windows. Формы. Управление, таким образом, переменная объявила, поскольку это могло "содержать" примерно какой-либо элемент UI - действительно ли это быть кнопкой, ListView, или что имеет Вас. Теперь, предоставленный, у Вас не будет доступа ко всем свойствам или методам объекта, но у Вас будет весь основной материал - и это может быть полезно.

29
задан Pang 24 March 2015 в 05:33
поделиться

1 ответ

Вот расширение UITableView, это - удобный ярлык для обновления tableView заголовков заголовка/нижнего колонтитула, на основе некоторых ответов выше (отметьте искусственный uppercasing заголовка заголовка).

extension UITableView {

    func refreshHeaderTitle(inSection section: Int) {
        UIView.setAnimationsEnabled(false)
        beginUpdates()

        let headerView = self.headerView(forSection: section)
        headerView?.textLabel?.text = self.dataSource?.tableView?(self, titleForHeaderInSection: section)?.uppercased()
        headerView?.sizeToFit()

        endUpdates()
        UIView.setAnimationsEnabled(true)
    }

    func refreshFooterTitle(inSection section: Int) {
        UIView.setAnimationsEnabled(false)
        beginUpdates()

        let footerView = self.footerView(forSection: section)
        footerView?.textLabel?.text = self.dataSource?.tableView?(self, titleForFooterInSection: section)
        footerView?.sizeToFit()

        endUpdates()
        UIView.setAnimationsEnabled(true)
    }

    func refreshAllHeaderAndFooterTitles() {
        for section in 0..<self.numberOfSections {
            refreshHeaderTitle(inSection: section)
            refreshFooterTitle(inSection: section)
        }
    }
}
1
ответ дан 28 November 2019 в 01:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: