gpt4 book ai didi

ios - 扩展/收缩 UITableViewCell 高度在 iOS7 中不再起作用

转载 作者:行者123 更新时间:2023-11-29 03:36:59 25 4
gpt4 key购买 nike

所以我不久前使用了这个有用的教程:http://locassa.com/animate-uitableview-cell-height-change/并且在 iOS6 中运行完美。然而现在,当我将一些应用程序更新到 iOS7 时,代码不起作用......我不知道为什么。代码检查得很好,它记录了哪个单元格已被选择以及哪个单元格最初没有使用 NSMutableDictionary ,我虽然它只是没有正确排序字典中的选择,但事实并非如此。我得出的可能结论是,当苹果更新 iOS 时,情况可能会发生变化。下面是我的代码:

首先,我记录单元格是否被选中“selectedIndexes”是我的NSMutableDictionary

- (BOOL)cellIsSelected:(NSIndexPath *)indexPath {
// Return whether the cell at the specified index path is selected or not
NSNumber *selectedIndex = [selectedIndexes objectForKey:indexPath];
return selectedIndex == nil ? FALSE : [selectedIndex boolValue];
}

然后在我的 didSelect 方法中:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
BOOL isSelected = ![self cellIsSelected:indexPath];
if ([self cellIsSelected:indexPath]) {
//hide objects that are in expanded area of cell
}else {
//load objects as cell is selected
}
// Store cell 'selected' state keyed on indexPath
NSNumber *selectedIndex = [NSNumber numberWithBool:isSelected];
[selectedIndexes setObject:selectedIndex forKey:indexPath];
[self.tableView beginUpdates];
[self.tableView endUpdates];

现在我已经设置了选择单元格时想要发生的情况,我已经定义了所需的高度(kCellHeight):

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

if([self cellIsSelected:indexPath])
return kCellHeight * 7;
else
return kCellHeight;

}

这之前没有任何问题,但由于某种原因,现在一些单元格会扩展,而其他单元格不会......我真的不明白,因为字典正在记录正确的索引路径及其值,选择或未选中的。希望遇到类似问题的人能够指出我正确的方向?谢谢。

最佳答案

我不确定为什么这在 iOS 6 上按原样工作,但为了确保系统知道您的单元格更改,您应该调用 self.tableView reloadRowsAtIndexPaths:...

关于ios - 扩展/收缩 UITableViewCell 高度在 iOS7 中不再起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19047234/

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