gpt4 book ai didi

ios - 带有 UISwitch 的 UITableView

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:14:01 24 4
gpt4 key购买 nike

我使用 Storyboard和自动布局。我将 UISwitch 添加到带有标签 5 的单元格中。当我选择第一个 UISwitch 并向下滚动时,我看到其他 UISwitch 也已打开,如果我向上滚动,我的第一个 UISwitch 将关闭。如何解决这个问题?

我的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";



UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

}


UISwitch* switchView = (UISwitch *)[cell viewWithTag:5];

[switchView addTarget:self action:@selector(switchChanged:) forControlEvents:UIControlEventValueChanged];

return cell;

}

最佳答案

这是因为 UITableView 重用 UITableViewCell 所以一个单元格可以在不同的 indexPaths 中多次使用,在这种情况下,您有责任维护 的状态UITableViewCell subview 。执行此操作的更好位置是 cellForRowAtIndexPath 返回单元格添加逻辑以显示/隐藏 UISwitch 或选择准确状态,即打开或关闭,您可以将该标志保留在dataSource 对象,然后您可以检查该标志以便为 UISwitch

设置正确的状态

关于ios - 带有 UISwitch 的 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32111245/

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