Элементы управления переупорядочением UITableView не отображаются в UIViewControllerIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Элементы управления переупорядочением UITableView не отображаются в UIViewController

Сообщение Anonymous »

Не знаю, что не так, мне кажется, что я делал это тысячу раз за эти годы, но на этот раз это не работает.
У меня есть UIViewController (а не UITableViewController) и я создаю UITableView в loadView(). Я установил делегата и источник данных. Я реализую методы делегата canMoveRowAt и moveRowAt. Я добавляю UIBarButtonItem, по которому нужно нажать, чтобы перевести таблицу в режим редактирования, но ни один из элементов управления изменением порядка не отображается.

Код: Выделить всё

class MyTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

var tableview: UITableView!

override func loadView() {
// intentionally not calling super

self.tableview = UITableView(frame: .zero, style: .grouped)
self.tableview.delegate = self
self.tableview.dataSource = self
self.view = self.tableview
}

override func viewDidLoad() {
super.viewDidLoad()

self.tableview.register(UITableViewCell.self, forCellReuseIdentifier: "cell")

let reorderbutton = UIBarButtonItem(image: UIImage(systemName: "mount"), style: .plain, target: self, action: #selector(tappedreorder(_:)))

self.navigationItem.rightBarButtonItems = [reorderbutton]
}

@objc func tappedreorder(_ sender:Any) {
self.tableview.setEditing(true, animated: true)
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
var config = cell.defaultContentConfiguration()
config.text = ...
cell.contentConfiguration = config

return cell
}

func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath) {
print("moved row from \(sourceIndexPath) to \(destinationIndexPath)")
}

func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool {
print("can move row at \(indexPath), true")
return true
}

}
Когда я переводю таблицу в режим редактирования, я не получаю никаких обратных вызовов canMoveRowAt, и ни в одной из строк не отображаются элементы управления изменением порядка.
Я также пробовал добавить cell.showsReorderControl = self.tableview.isEditing в реализацию cellForRowAt, чтобы он явно запрашивал управление перемещением, но это ничего не изменило, потому что ничего не изменилось строк фактически перезагружались. Даже когда я перевел таблицу в режим редактирования, а затем выполнил reloadData(), чтобы перезагрузить все строки и установить cell.showsReorderControl, они все равно не появились.

Подробнее здесь: https://stackoverflow.com/questions/784 ... controller
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Привяжите второй UITableView к RowClick первого UITableView в том же UIViewController - ios Xamarin
    Anonymous » » в форуме IOS
    0 Ответы
    81 Просмотры
    Последнее сообщение Anonymous
  • UinavigationBar прыгает от большого заголовка до маленького, приталкиваясь к UiviewController со встроенным UitableView
    Anonymous » » в форуме IOS
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Элементы управления в форме не отображаются в дизайнере
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Элементы управления WPF Toolkit не отображаются в Visual Studio 2022
    Anonymous » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Элементы управления WPF Toolkit не отображаются в Visual Studio 2022
    Anonymous » » в форуме C#
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»