Как добавить UITextView в нижней части UITableView

Этот является плагином JQuery для изменения текста кнопки элемента входного файла.

Пример HTML:


Пример JS:

$('#choose-file').inputFileText({
    text: 'Select File'
});

Результат:

plugin result [/g1]

0
задан PennyWise 19 March 2019 в 08:47
поделиться

2 ответа

Вы должны добавить отдельный UIView внизу основного экрана и добавить UITextView в качестве подпредставления. Добавьте TableView над этим контейнером, чтобы он прокручивался, а текстовое представление всегда было видно внизу.

0
ответ дан vinodonkar 19 March 2019 в 08:47
поделиться

Добавление UITextView сложно, потому что это подкласс UIScrollView, как и UITableView, и добавление представления прокрутки к другому представлению прокрутки не только трудно для распознавателей жестов, но и для автоматического размещения .

Что облегчит вашу жизнь, так это наличие всего лишь одного табличного представления в контроллере представлений с разными секциями, и у каждой секции есть свой тип ячейки.

Что мне нравится делать для этого, так это объявить enum в моем контроллере вида:

class MyViewController: UIViewController {
    private enum Section: Int, CaseIterable {
        case foo
        case bar
    }
}

extension MyViewController: UITableViewDataSource {
    func numberOfSections(in tableView: UITableView) -> Int {
        return Section.allCases.count
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        guard let section = Section(rawValue: section) else { preconditionFailure() }

        switch section {
        case .foo:
            return 1
        case .bar:
            return 4
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        guard let section = Section(rawValue: indexPath.section) else { preconditionFailure() }

        let cell: UITableViewCell
        switch section {
        case .foo:
            cell = ...
        case .bar:
            cell = ...

        return cell
    }
}

Для ячеек с длинным текстом вы можете просто использовать стиль ячейки default (в вашем XIB / storyboard) и установите

cell.textLabel?.numberOfLines = 0

Табличное представление должно иметь возможность автоматически изменять размер, чтобы соответствовать всему тексту.

Единственная причина, по которой вам нужно использовать UITextView в вашем сценарии, это если вы хотите, чтобы пользователь мог редактировать текст. В противном случае избавьте себя от большой боли и идите с UILabel.

0
ответ дан Guy Kogus 19 March 2019 в 08:47
поделиться
Другие вопросы по тегам:

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