gpt4 book ai didi

ios - 自 ios7 起,indexPathForCell 返回 nil

转载 作者:IT王子 更新时间:2023-10-29 08:10:12 24 4
gpt4 key购买 nike

我的应用程序在 ios6.1 下运行良好。尝试了 ios7 模拟器,但以下部分不起作用:

EditingCell *cell = (EditingCell*) [[textField superview] superview];
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
NSLog(@"the section is %d and row is %d", indexPath.section, indexPath.row);
NSUInteger section = [indexPath section];
NSUInteger row = [indexPath row];
NSString *rowKey = [[keysForRows objectAtIndex: section] objectAtIndex: row];

它总是来的:

the section is 0 and row is 0

虽然选择了另一个部分/行。有人知道为什么这在 ios7 下不起作用吗?

最佳答案

您查找文本字段的“封闭” TableView 单元格的方法很脆弱,因为它假定一个固定的 View 层次结构(这似乎在iOS 6 和 iOS 7)。

一种可能的解决方案是在 View 层次结构中向上遍历,直到找到 TableView 单元格:

UIView *view = textField;
while (view != nil && ![view isKindOfClass:[UITableViewCell class]]) {
view = [view superview];
}
EditingCell *cell = (EditingCell *)view;

一个完全不同但经常使用的方法是用行“标记”文本字段编号:

cell.textField.tag = indexPath.row;   // in cellForRowAtIndexPath

然后只需在文本字段委托(delegate)方法中使用该标记即可。

关于ios - 自 ios7 起,indexPathForCell 返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18743099/

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