gpt4 book ai didi

IOS 在除一个单元格之外的所有单元格上禁用 UItableview 选择

转载 作者:行者123 更新时间:2023-11-29 10:37:06 25 4
gpt4 key购买 nike

除了 UITableview 中的一个之外,如何禁用所有 UITableviewCell 上的选择。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
// Deselect row
[tableView deselectRowAtIndexPath:indexPath animated:YES];
// NSLog(@"Row Selected = %li",(long)indexPath.row);

self.selectedInvitedUserId = [[self.viewOrderUserArray valueForKey:@"InvitedUserId"] objectAtIndex:[indexPath row]];
NSLog(@"Row selectedInvitedUserId = %@",self.selectedInvitedUserId);

if( self.selectedInvitedUserId && [indexPath row] != 0 )
{
if ([[self.viewSelectedItemsArray lastObject] count] == 0)
{
[self performSegueWithIdentifier:@"delimenuFromViewOrderList" sender:self];
}
else
{
[self performSegueWithIdentifier:@"viewOrderSummaryFromOrderDetails" sender:self];
}
}
}

我知道这个可以禁用所有单元格。

cell.selectionStyle = UITableViewCellSelectionStyleNone;

最佳答案

你需要在

(UITableViewCell *)tableView:cellForRowAtIndexPath:

回调。这是一个单元格的设置,当它被点击时将被执行。这不是您应该尝试手动管理的东西

像这样:

// Where indexPath != 0 points to the row you want to enable
if( self.selectedInvitedUserId && indexPath != 0 )
{
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
}
else
{
[cell setSelectionStyle:UITableViewCellSelectionStyleBlue];
}

注意

这只会阻止它被突出显示。您需要在 didSelectRowAtIndexPath: 回调中检查其行是否正确。

关于IOS 在除一个单元格之外的所有单元格上禁用 UItableview 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26337658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com