После обновления IOS 15 у меня возникла проблема с расширением приложения iMessage, когда я меняю положение ячеек, оно не работает, но в ios 14.8.1 оно будет работать

#ios #uitableview #imessage

#iOS #uitableview #imessage

Вопрос:

После обновления IOS 15 у меня возникла проблема с расширением приложения iMessage, когда я меняю положение ячеек, оно не работает, но в ios 14.8.1 оно будет работать. Я не знаю, почему перетаскивание не работает. если кто-то знает, как решить эту проблему, пожалуйста, помогите мне.

расширение VoteVC: UITableViewDelegate, UITableViewDataSource, UITableViewDragDelegate, UITableViewDropDelegate { табличное представление функции(_ таблиЧное представление: UITableView, раздел numberOfRowsInSection: Int) -gt; Int { возврат _data.count }

 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -gt; UITableViewCell {  let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CellResult  cell.setData(_data[indexPath.row], idx: indexPath.row, showSequence: true, selected: m_selectedIdx == indexPath.row )  cell.selectionStyle = .none  return cell }  func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -gt; CGFloat {  return 70 }  func tableView(_ tableView: UITableView, itemsForBeginning session: UIDragSession, at indexPath: IndexPath) -gt; [UIDragItem] {  return [  UIDragItem(itemProvider: NSItemProvider())  ] }  func tableView(_ tableView: UITableView, dragPreviewParametersForRowAt indexPath: IndexPath) -gt; UIDragPreviewParameters? {  UIDevice.vibrate()  let param = UIDragPreviewParameters()  param.backgroundColor = .clear  return param }  func tableView(_ tableView: UITableView, canHandle session: UIDropSession) -gt; Bool {  return true }  func tableView(_ tableView: UITableView, dropSessionDidUpdate session: UIDropSession, withDestinationIndexPath destinationIndexPath: IndexPath?) -gt; UITableViewDropProposal {    if tableView.hasActiveDrag {  if session.items.count gt; 1 {  return UITableViewDropProposal(operation: .cancel)  } else {  return UITableViewDropProposal(operation: .move, intent: .insertAtDestinationIndexPath)  }  } else {  return UITableViewDropProposal(operation: .copy, intent: .insertAtDestinationIndexPath)  }     func tableView(_ tableView: UITableView, performDropWith coordinator: UITableViewDropCoordinator) {  let destinationIndexPath: IndexPath  if let indexPath = coordinator.destinationIndexPath {  destinationIndexPath = indexPath  } else {  let section = tableView.numberOfSections - 1  let row = tableView.numberOfRows(inSection: section)  destinationIndexPath = IndexPath(row: row, section: section)  }  print(coordinator.items.count)  let source = _data.remove(at: coordinator.items[0].sourceIndexPath!.row)  _data.insert(source, at: destinationIndexPath.row)  self.m_selectedIdx = -1  tblData.reloadData()  UIDevice.vibrate() }  

}

 class CellResult: UITableViewCell { @IBOutlet var lblOption: RoundText!  public func setData(_ data:OptionModel, idx:Int, showSequence:Bool, selected:Bool) {  for vw in self.subviews {  if vw.tag == 100 {  vw.removeFromSuperview()  }  }  if showSequence {  let lblSeq = UILabel()  lblSeq.font = lblOption.font  lblSeq.textColor = UIColor.white  lblSeq.frame = lblOption.frame  lblSeq.frame.origin.x = 10  lblSeq.tag = 100  if idx == 0 {  lblSeq.text = "1st "  } else if idx == 1 {  lblSeq.text = "2nd "  } else if idx == 2 {  lblSeq.text = "3rd "  } else {  lblSeq.text = "4th "  }  self.addSubview(lblSeq)  lblOption.text = " "  } else {  lblOption.text = ""  }  lblOption.text = lblOption.text!   data.title  lblOption._borderColor = OptionColors[idx]!  if selected {  lblOption._borderColor = UIColor.white  }  lblOption.textColor = UIColor.white }  

}

Вы, ребята, видите мой скриншот, который я добавил в вопросе о том, как работает перетаскивание.

Кто-нибудь, помогите мне решить эту проблему, спасибо.