我有使用自定义单元格制作的 6 行的 tableView。
自定义单元格有一个 UILabel 和一个 UISwitch。在“cellForRowAtIndexPath:”方法中,我有:
static NSString *CellIdentifier = @"optionsCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
UISwitch *optionsSwitch = (UISwitch *)[cell viewWithTag:300];
UILabel *optionsLabel = (UILabel *) [cell viewWithTag:200];
NSLog(@"%@", optionsSwitch);
NSLog(@"%@", optionsLabel);
当 tableView 第一次实例化(从情节提要)时,我正确地得到了两个对象(我只为表格视图的第一行添加了结果):
但是当我将 reloadData 方法发送到 tableView 时(可以通过编程方式更改 UISwitch 状态,因此我在显示它之前更新了 tableview)我正确地获得了 UILabel 而 UISwitch 为零:
为什么 UILabel 有效而 UISwitch 无效?
UISizeClasses 未启用,正如关于此问题的另一篇文章中所建议的那样。
谢谢, 科拉多