在真机测试时,碰上一个问题,在删除cell时,模拟器上删除按钮可以出来,但是到真机上面就不行,不响应,找到一个麻烦的解决办法,就是把删除cell的两个方法全部写上(上一个博客有一个删除cell的方法,是iOS8以后新增的)上代码:
- (
BOOL
)tableView:(
UITableView
*)tableView canEditRowAtIndexPath:(
NSIndexPath
*)indexPath
return
YES
;
- (
UITableViewCellEditingStyle
)tableView:(
UITableView
*)tableView editingStyleForRowAtIndexPath:(
NSIndexPath
*)indexPath
return
UITableViewCellEditingStyleDelete
;
//
删除
cell
- (
void
)tableView:(
UITableView
*)tableView commitEditingStyle:(
UITableViewCellEditingStyle
)editingStyle forRowAtIndexPath:(
NSIndexPath
*)indexPath
if
(editingStyle ==
UITableViewCellEditingStyleDelete
) {
[
dataArray
removeObjectAtIndex
:indexPath.
row
];
[tableView
deleteRowsAtIndexPaths
:[
NSArray
arrayWithObjects
:indexPath,
nil
]
withRowAnimation
:
UITableViewRowAnimationNone
];
-(
NSArray
<
UITableViewRowAction
*>*)tableView:(
UITableView
*)tableView editActionsForRowAtIndexPath:(
NSIndexPath
*)indexPath
UITableViewRowAction
*rowAction = [
UITableViewRowAction
rowActionWithStyle
:
UITableViewRowActionStyleNormal
title
:
@"
删除
"
handler
:^(
UITableViewRowAction
*
_Nonnull
action,
NSIndexPath
*
_Nonnull
indexPath) {
// rowActionSec.backgroundColor = [UIColor colorWithHexString:@"f38202"];
rowAction.
backgroundColor
= [
UIColor
purpleColor
];
UITableViewRowAction
*rowaction = [
UITableViewRowAction
rowActionWithStyle
:
UITableViewRowActionStyleNormal
title
:
@"
置顶
"
handler
:^(
UITableViewRowAction
*
_Nonnull
action,
NSIndexPath
*
_Nonnull
indexPath) {
rowaction.
backgroundColor
= [
UIColor
grayColor
];
NSArray
*arr =
@[
rowAction,rowaction
]
;
return
arr;
在真机测试时,碰上一个问题,在删除cell时,模拟器上删除按钮可以出来,但是到真机上面就不行,不响应,找到一个麻烦的解决办法,就是把删除cell的两个方法全部写上(上一个博客有一个删除cell的方法,是iOS8以后新增的)上代码:- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *
如下面实例代码,需要
使用
rawValue初始化方式
- (UITableView
Cell
Edit
ing
Style
)tableView:(UITableView *)tableView
edit
ing
Style
For
Row
At
Index
Path
:(NS
Index
Path
*)
index
Path
{
return UITableView
Cell
Edit
ing
Style
Delete | UITableView
Cell
Edit
ing
Style
Insert;
func tableView(_ tableView
ios8 出来的左滑小菜单 可以自定义想要的
按钮
(要求ios8以上)
- (nullable NSArray<UITableView
Row
Action
*> *)tableView:(UITableView *)tableView
edit
Action
sFor
Row
At
Index
Path
:(NS
Index
Path
*)
index
Path
{
UITableVie...
//编辑一个代理方法,用来设置单元格的编辑模式
func tableView(_ tableView: UITableView,
edit
ing
Style
For
Row
At
index
Path
:
Index
Path
) -> UITableView
Cell
.
Edit
ing
Style
{
return UITableView
Cell
.
Edit
ing
Style
...
- (BOOL)tableView:(UITableView *)tableView can
Edit
Row
At
Index
Path
:(NS
Index
Path
*)
index
Path
{
//第二组可以左滑
删除
if (
index
Path
.section == 2) {
return YES;
return NO;
// 定义编辑样式
- (UITableView
Cell
Edit
ing
Style
)tableView:(UITabl
首先要实现这句tableView.set
Edit
ing
(true, animated: true)才能弹出左侧的小圆圈
然而在oc中tableview
删除
的写法百度一下很常见但是swift中包的很严实:
override func tableView(tableView: UITableView,
edit
ing
Style
For
Row
At
Index
Path
index
Path
:...
在SWIFTUI上编写的简单的“
edit
Action
sFor
Row
At”功能可以在没有列表的情况下应用于每个视图。
Swipeable View Check用法示例»报告错误·请求功能描述写在SWIFTUI上的简单“
edit
Action
sFor
Row
At”功能可以在没有列表的情况下应用于每个视图。
安装需要iOS 14和Xcode 12!
在Xcode中,进入File-> Swift Packages-> Add Package Dependency并粘贴到仓库的URL:https://github.com/mroffmix/SwipebleView导入:将包导入到您想
使用
的文件中:import SwipebleView Demo已
添加
一个示例项目,
8.x系统只有同时实现下面方法1和方法2才能
响应
tableView:
edit
Action
sFor
Row
At
Index
Path
:方法,9.x系统只用实现方法1就可以
响应
,两个方法都来自UITableViewDataSource。
// 方法1
- (BOOL)tableView:(UITableView *)tableView can
Edit
Row
At
Index
Path
:(NS
Index
Path
...
typedef
NS_ENUM(NSInteger, UITableView
Row
Action
Style
) {
UITableView
Row
Action
Style
Default =
UITableView
Row
Action
Style
Destructive =
UITableView
Row
Action
Style
Default,
- (void)tableView:(UITableView *)tableView didSelect
Row
At
Index
Path
:(NS
Index
Path
*)
index
Path
{
if (self.tableView.
edit
in