gpt4 book ai didi

ios - UITableViewCell错误ios7

转载 作者:行者123 更新时间:2023-12-01 17:18:25 25 4
gpt4 key购买 nike

我有一个问题,我有一个表格,每个单元格中都有一个 UISwitch。当用户单击开关时,我想知道哪个单元格包含开关。

该代码在 ios6 和 ios 7 中断中运行良好:

代码是这样的:

-(IBAction) doToggle:(id)sender {
UISwitch *toggle = (UISwitch *)sender;
MyCell *cell = (MyCell *)((UISwitch *)sender).superview.superview;
NSLog(@"=========== CELL %@", cell.description);
NSDictionary *item = [list objectAtIndex:[cell index]]; //breaks in this line

在 NSLog 我看到以下内容

iOS6:
<MyCell: 0x858b750; baseClass = UITableViewCell; frame = (0 0; 320 44); autoresize = W; layer = <CALayer: 0x858b890>>

IOS 7:
<UITableViewCellScrollView: 0x8e5a290; frame = (0 0; 320 44); autoresize = W+H; gestureRecognizers = <NSArray: 0x8e5a740>; layer = <CALayer: 0x8e5a4c0>; contentOffset: {0, 0}>

有人可以帮我解决这个问题,在此先感谢!

最佳答案

我认为比标签杂耍更清洁的解决方案是使用委托(delegate)协议(protocol)创建一个自定义单元格,将方法的目标/操作和单元格添加到 UISwitch 并在委托(delegate)( View Controller )上调用方法 -toggleSwitched:(BOOL) switchOnOff onMyCell:(MyCell *) cell 和您将实现此委托(delegate)方法,例如:

-(void)toggleSwitched:(BOOL) switchOnOff onMyCell:(MyCell *) cell
{
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
// use indexPath to fetch right element
// ie:
if(switchOnOff) {
NSDictionary *item = list[indexPath.row];
} else {
// ??
}
}

关于ios - UITableViewCell错误ios7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18476193/

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