作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在表格 View 单元格上滑动以显示删除确认按钮。但是一旦我抬起手指,即使按钮仍然存在,showingDeleteConfirmation
也会给出 NO。 (当按钮出现时,它确实给出了 YES,我的意思是,在我抬起手指之前。)我是否遗漏了什么,或者它是 iOS 中的一个真正的错误?
以下是我的测试代码。 (复制粘贴到单 View 项目的ViewController.m中,在模拟器中运行,shift+command+M触发NSLog.)
#import "ViewController.h"
@interface ViewController () <UITableViewDataSource, UITableViewDelegate>
@end
@implementation ViewController {
UITableViewCell *_myCell;
}
- (void)viewDidLoad
{
[super viewDidLoad];
UITableView *myTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 100, 320, 200)];
myTableView.dataSource = self;
myTableView.delegate = self;
[self.view addSubview:myTableView];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
_myCell = [[UITableViewCell alloc] init];
_myCell.contentView.backgroundColor = [UIColor greenColor];
return _myCell;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
NSLog(@"_myCell.showingDeleteConfirmation = %@", _myCell.showingDeleteConfirmation ? @"YES" : @"NO");
}
@end
最佳答案
根据文档:
Returns whether the cell is currently showing the delete-confirmation button. (read-only)
...
When users tap the deletion control (the red circle to the left of the cell), the cell displays a "Delete" button on the right side of the cell
所以首先你需要让网格可编辑
[myTableView setEditing:YES];
然后用户点击圆圈进行删除(在此模式下他们无法向左滑动),瞧:
_myCell.showingDeleteConfirmation = YES
虽然您可以期望按照您在问题中描述的那样使用它,但他们并不 promise 。
关于ios - UITableViewCell.showingDeleteConfirmation 在显示删除确认按钮时给出 NO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21969527/
我是一名优秀的程序员,十分优秀!