我添加了一个UITextField作为UITableViewCell的 subview 。然后,我添加了targetselector,以便可以知道UIControlEventEditingChanged的时间。这很好用,但是我想让您知道indexPath所在单元格的UITextField,因为它可以添加到任意数量的单元格中。

这可能吗?基本上,我想找到一个父 View ,它是一个UITableViewCell

最佳答案

在字段上调用[UIView superview]以获取其所在的单元格,然后在该单元格上调用[UITableView indexPathForCell:]以获取索引路径。

更新:在iOS 7上,您也需要在该 View 上调用 super View ( View 的额外层);这是UITableView上的一个类别,该类别应独立于iOS版本运行:

@interface UITableView (MyCoolExtension)

- (NSIndexPath *)indexPathForCellContainingView:(UIView *)view;

@end

@implementation UITableView (MyCoolExtension)

- (NSIndexPath *)indexPathForCellContainingView:(UIView *)view {
    while (view != nil) {
        if ([view isKindOfClass:[UITableViewCell class]]) {
            return [self indexPathForCell:(UITableViewCell *)view];
        } else {
            view = [view superview];
        }
    }

    return nil;
}

@end

关于objective-c - UITableViewCell的UITextField subview ,获取单元格的indexPath,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9577392/

10-14 20:05
查看更多