我有自定义单元格,右侧有少数单元格.我想要的是在交换机更改事件中存储特定单元格的值.表视图有数字部分,所以我不能为switch设置标签,因为我需要section和row来获取索引路径. 任何建
任何建议任何替代,但我必须在基于部分的表视图中使用UISwitch.
谢谢
在自定义单元格中添加属性,可帮助您识别单元格所代表的信息.索引路径,数据模型的索引等…然后向单元格添加一个块属性,当单元格开关发生变化时,您可以调用它来告诉UITableView或任何其他代码.例如
@property (nonatomic,copy) void (^onSwitchChange)(UITableViewCell *cell);
在自定义单元代码中,为UISwitch添加操作处理程序.当它触发时,调用self.onSwitchChange(self),它将通知注册了onSwitchChange块的代码,该代码表示交换机已更改以及在哪个单元上.
在创建单元格时的表视图中,按如下方式设置onSwitchChange块:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath (NSIndexPath *)indexPath { <snip> YourUITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:yourCellIdentifier forIndexPath:indexPath]; cell.onSwitchChange=^(UITableViewCell *cellAffected){ // Add code to deal with the swicth switch using properties of cellAffected ... Your handler code here ... }]; <snip> }
这使您可以处理表视图控制器中的所有更改.希望这可以帮助.