菜鸟教程小白 发表于 2022-12-12 10:51:10

ios - 限制 UITableViewCell 在特定部分移动


                                            <p><pre><code>- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
   if (indexPath.section == 1) {
      return NO;
   }
   else {
      return YES;
   }
}

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
   if (indexPath.section == 1) {
            return NO;
   }
   else {
            return YES;
   }
}
</code></pre>

<p>我的 tableView 中有 2 个部分。我希望我的 tableViewcells 仅在第一部分移动(而不是第二部分)。目前,如果我将 tableCell 拖到第二部分,它会崩溃。 </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我想你正在寻找这种方法 - </p>

<pre><code>- (NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath *)proposedDestinationIndexPath
{
   if (proposedDestinationIndexPath.section != 0)
   {
       return sourceIndexPath;
   }

   return proposedDestinationIndexPath;
}
</code></pre>

<p>它将限制您仅在第 0 节中移动行。如果您尝试将行从第 0 节移动到第 1 节,它将返回单元格的前一个索引路径</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 限制 UITableViewCell 在特定部分移动,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/24881090/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/24881090/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 限制 UITableViewCell 在特定部分移动