gpt4 book ai didi

ios - 滑动到删除和 "More"按钮(就像在 iOS 7 上的邮件应用程序中一样)

转载 作者:IT王子 更新时间:2023-10-29 07:25:23 26 4
gpt4 key购买 nike

当用户在表格 View 中滑动单元格时如何创建“更多”按钮(如 ios 7 中的邮件应用程序)

我一直在这里和 Cocoa Touch 论坛上寻找这些信息,但我似乎找不到答案,我希望比我聪明的人能给我一个解决方案。

我希望当用户滑动表格 View 单元格时,显示多个编辑按钮(他默认是删除按钮)。在 iOS 7 的邮件应用程序中,您可以通过滑动来删除,但会显示一个“更多”按钮。

enter image description here

最佳答案

如何实现

看来iOS 8开放了这个API。 Beta 2 中提供了此类功能的提示。

要使某些东西正常工作,请在 UITableView 的委托(delegate)上实现以下两个方法以获得所需的效果(请参阅要点以获取示例)。

- tableView:editActionsForRowAtIndexPath:
- tableView:commitEditingStyle:forRowAtIndexPath:


已知问题

文档说 tableView:commitEditingStyle:forRowAtIndexPath 是:

"Not called for edit actions using UITableViewRowAction - the action's handler will be invoked instead."

但是,如果没有它,滑动将不起作用。即使方法 stub 是空白的,它现在仍然需要它。这显然是 Beta 2 中的错误。


来源

https://twitter.com/marksands/status/481642991745265664 https://gist.github.com/marksands/76558707f583dbb8f870

原始答案:https://stackoverflow.com/a/24540538/870028


更新:

此工作的示例代码(在 Swift 中):http://dropbox.com/s/0fvxosft2mq2v5m/DeleteRowExampleSwift.zip

示例代码在 MasterViewController.swift 中包含这个易于遵循的方法,只需使用这个方法,您就可以获得 OP 屏幕截图中显示的行为:

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

var moreRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "More", handler:{action, indexpath in
println("MORE•ACTION");
});
moreRowAction.backgroundColor = UIColor(red: 0.298, green: 0.851, blue: 0.3922, alpha: 1.0);

var deleteRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Delete", handler:{action, indexpath in
println("DELETE•ACTION");
});

return [deleteRowAction, moreRowAction];
}

关于ios - 滑动到删除和 "More"按钮(就像在 iOS 7 上的邮件应用程序中一样),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17254402/

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