objective-c - iOS "swipe to delete"未更改编辑按钮状态
<p><p>我有一个以编程方式创建的 <code>UITableView</code>。我现在正在尝试添加使用编辑模式删除行的功能。</p>
<p>我已经添加了这样做的默认方式:</p>
<pre><code>self.navigationItem.leftBarButtonItem = self.editButtonItem;
</code></pre>
<p>当您点击按钮时,它会进入编辑模式,并且按钮会变为“完成”按钮。</p>
<p>但是,当我“滑动删除”仅显示删除按钮的行时,现有的编辑按钮不会更改为“完成”。</p>
<p>因为我以编程方式创建了表格 View ,所以我需要做一些额外的事情吗?</p>
<p>下面是我的表格 View 的代码:</p>
<pre><code>- (void)viewDidLoad
{
self.voucherTableView = [ initWithFrame:CGRectMake(0, 36, 320, self.view.frame.size.height - 36) style:UITableViewStylePlain];
self.voucherTableView.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
self.voucherTableView.delegate = self;
self.voucherTableView.dataSource = self;
;
self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
// Default table view data source methods go here
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
;
;
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
{
// Commit the delete
}
}
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>这是我给你的答案:按钮不会更改为“完成”,因为要删除的幻灯片实际上不必在“编辑”模式下完成,它不会让您进入编辑模式。</p >
<p>如果您愿意,可以在执行删除时强制它进入编辑模式,不知道为什么要这样做?</p>
<pre><code>- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
{
;
// Commit the delete
}
}
</code></pre></p>
<p style="font-size: 20px;">关于objective-c - iOS"swipe to delete"未更改编辑按钮状态,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/7299583/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/7299583/
</a>
</p>
页:
[1]