我希望现在 IOS 7 的应用程序正在被 Apple 接受,我们可以谈谈吗?
我正在尝试修复我的应用程序,以便它可以在 IOS 7 上运行,并且今晚取得了一些非常好的进展。我有两个悬而未决的问题,但将分别发布。第一个问题是这一行(我在调试之后添加了一个日志行)......
NSIndexPath *indexPath = [settingsTableView indexPathForCell:(UITableViewCell *)[sender superview]];
NSLog(@"Changed %@ <-**-> %@", [sender superview], indexPath );
日志显示......
IOS 7
2013-09-11 22:18:02.985 BusTimes[21013:a0b] Changed <UITableViewCellScrollView: 0xbfc1c80; frame = (0 0; 320 44); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0xbfc1e70>; layer = <CALayer: 0xbfc1540>; contentOffset: {0, 0}> <-**-> (null)
2013-09-11 22:18:08.577 BusTimes[21013:a0b] Changed <UITableViewCellScrollView: 0xbfc62d0; frame = (0 0; 320 44); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0xbfc64c0>; layer = <CALayer: 0xbfc5b90>; contentOffset: {0, 0}> <-**-> (null)
IOS 6
2013-09-11 22:25:34.495 BusTimes[2116:907] Changed <UITableViewCell: 0x20862f40; frame = (0 179; 320 44); text = 'Reminder Mins: 5'; autoresize = W; layer = <CALayer: 0x208523d0>> <-**-> <NSIndexPath 0x20861430> 2 indexes [0, 3]
2013-09-11 22:25:47.499 BusTimes[2116:907] Changed <UITableViewCell: 0x20865180; frame = (0 223; 320 44); text = 'AutoRefresh Secs: 60'; autoresize = W; layer = <CALayer: 0x20865340>> <-**-> <NSIndexPath 0x2085c0d0> 2 indexes [0, 4]
因此,在 IOS 7 上,indexPath 始终为(null)并且 .section 和 .row 始终为 0。但这在 IOS 6 上运行良好并返回 .section 0 和第 3 行以及 .row 4。任何人都可以建议我如何获得 IOS 7以同样的方式对待我?
提前谢谢了。
等离子体
* 解决方案 - 我在评论之后将我的代码更改为 *
UIView *view = sender;
while (![view isKindOfClass:[UITableViewCell class]]) {
view = [view superview];
}
NSIndexPath *indexPath = [settingsTableView indexPathForCell:(UITableViewCell *)view];