gpt4 book ai didi

swift - 像 gmail 一样滑动即可取消撤消

转载 作者:行者123 更新时间:2023-11-30 12:49:48 25 4
gpt4 key购买 nike

我想添加像this这样的滑动操作,其实这个库是Android的。我想要快速。

我默认使用tableview方法。

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? 

但问题是它只提供一种滑动方式,而不是左右滑动。

而且在GMAIL应用程序中,也有两端滑动,即使我们滑动两次到该行,它也会被自动删除。

请指导我如何做到这一点。我找不到任何第三方。

我创建的一件事是添加左右两侧手势,然后在其方法中添加按钮,但没有任何反应。

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {



let moreRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "More", handler:{
action, indexpath in

print("MORE ACTION");

self.Selected = "YES"

self.selectedValue = indexpath.row

self.tableView.rowHeight = 50

self.tableView.beginUpdates()

let indexPath = NSIndexPath(forRow: indexPath.row, inSection: 0)

self.tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Automatic)

self.tableView.endUpdates()

});

moreRowAction.backgroundColor = UIColor(red: 0.298, green: 0.851, blue: 0.3922, alpha: 1.0);

let deleteRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Delete", handler:{action, indexpath in
print("DELETE ACTION");

self.tableView.endUpdates()

});


let Action = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "", handler:{action, indexpath in
print("ACTION");
});

if self.Selected == "YES" {

if self.selectedValue == indexPath.row {

return [Action];
}
//return [Action];
return [deleteRowAction, moreRowAction];
}else{
return [deleteRowAction, moreRowAction];
}
}

以及允许编辑的方法

func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {

return false
}

手势

self.tableView.registerNib(UINib(nibName: "customCell", bundle: nil), forCellReuseIdentifier: "customCell")

let swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(ViewController.left(_:)))


swipeRight.direction = UISwipeGestureRecognizerDirection.Right
self.tableView.addGestureRecognizer(swipeRight)

let swipeleft = UISwipeGestureRecognizer(target: self, action: #selector(ViewController.right(_:)))

swipeleft.direction = UISwipeGestureRecognizerDirection.Left

self.tableView.addGestureRecognizer(swipeleft)



func left(sender: UISwipeGestureRecognizer){
print("left");
//what to write inside to make custom button here
}
func right(sender: UISwipeGestureRecognizer){
print("right");
}

最佳答案

这是使用 UISwipeGesture 和 UITableviewCell 实现此解决方案的简单方法

导入UIKit

class TableViewCustomCell:UITableViewCell {

@IBOutlet weak var mainView: UIView!


override func awakeFromNib() {
let leftSwipe: UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(swipe(_:)))
leftSwipe.direction = .Left;
self.contentView.addGestureRecognizer(leftSwipe)

}

func swipe(touch: UIGestureRecognizer)
{
let swipeGesture:UISwipeGestureRecognizer = sender as! UISwipeGestureRecognizer
//Write your code to Unread or
}
}

关于swift - 像 gmail 一样滑动即可取消撤消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41143025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com