菜鸟教程小白 发表于 2022-12-12 17:20:57

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&#34;swipe to delete&#34;未更改编辑按钮状态,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/7299583/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/7299583/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: objective-c - iOS &#34;swipe to delete&#34;未更改编辑按钮状态