如何从 swift 中的按钮选项中删除 uitableviewcell?
Posted
技术标签:
【中文标题】如何从 swift 中的按钮选项中删除 uitableviewcell?【英文标题】:How to delate tableview cell from button options in swift? 【发布时间】:2021-04-10 10:23:21 【问题描述】:单击按钮时我可以删除表格视图单元格..
但现在我需要从按钮选项中删除 tableview 单元格点击如下图image how button shows options
在上图中,如果我点击按钮,我会显示一个PopoverView
,如果我点击删除,那么 tableview 单元格应该删除,该怎么做?
代码:如果我喜欢下面..当我点击点按钮时,只有单元格正在删除..但我希望当我点击按钮时popoverview应该显示,如果我选择删除然后单元格被删除?怎么办?
@objc func deleteService(sender:UIButton)
let servId = servicesArray[sender.tag].id
let param = ["service_id" : servId]
APIReqeustManager.sharedInstance.serviceCall(param: param as [String : Any], method: .post, loaderNeed: false, loadingButton: nil, needViewHideShowAfterLoading: nil, vc: self, url: CommonUrl.remove_requests, isTokenNeeded: true, isErrorAlertNeeded: true, isSuccessAlertNeeded: false, actionErrorOrSuccess: nil, fromLoginPageCallBack: nil) [weak self] (resp) in
if let code = ((resp.dict?["result"] as? [String : Any]))
let success = code["status"] as? [String : Any]
let message = success?["message"] as? String
if message == "Success"
let selectedIndex = sender.tag
self?.servicesArray.remove(at: selectedIndex)
DispatchQueue.main.async
self?.servicesTableView.reloadData()
else
self?.view.makeToast(CommonMessages.somethingWentWrong)
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCell(withIdentifier: "ServicesTableViewCell", for: indexPath) as! ServicesTableViewCell
cell.optionsBtn.tag = indexPath.row
cell.optionsBtn.addTarget(self, action: #selector(deleteService(sender:)), for: UIControl.Event.touchUpInside)
return cell
显示popover
:
extension PageContentViewController: PopoverViewDelegate
func value(didSelect item: String, at index: Int, indexPath: IndexPath, sender: UIView)
if item == "View"
let vc = Helper.getVcObject(vcName: .ViewRequestDetailsViewController, StoryBoardName: .Requests) as! ViewRequestDetailsViewController
self.checkAndPushPop(vc, navigationController: self.navigationController)
else if item == "Edit"
else if item == "Delete"
// if i click delete i need to delete tableview cell
如果我点击按钮弹出框来了,但如果点击从弹出框中删除我需要删除单元格,怎么办?
【问题讨论】:
【参考方案1】:您需要先从 tableView 的数据源数组中删除要删除的项目,如下所示:
self?.servicesArray.remove(at: indexPath.item)
那么你应该可以做到这一点:
tableView.deleteRows(at: [indexPath], with: .fade)
【讨论】:
我问了什么......你发布了什么?我想要类似的类别计数 @learn_swift 您的问题是关于如何从选项列表中删除 tableView 单元格?以上是关于如何从 swift 中的按钮选项中删除 uitableviewcell?的主要内容,如果未能解决你的问题,请参考以下文章
当用户以编程方式单击swift ios中的删除按钮时,如何将光标从一个文本字段自动移动到另一个文本字段?