UISwitch不显示在自定义UITableView单元

时间:2015-08-12 10:24:04

标签: ios uitableview uiswitch

我需要一个celllabel的自定义switch。 现在,主要问题是我无法显示switch。我尝试了几种方法,包括以编程方式将switch添加到单元格的accessoryView

我使用IB,将switch添加到单元格,连接IBOutlet。我还尝试在单元格switch中以编程方式添加awakeFromNib

- (void)awakeFromNib {
    [super awakeFromNib];
    if (!self.fieldSwitch) {
        self.fieldSwitch = [[UISwitch alloc] init];
        [self.fieldSwitch addTarget:self action:@selector(switchUpdatedValue:) forControlEvents:UIControlEventValueChanged];
        self.fieldSwitch.onTintColor = [ColorManager sharedInstance].genericSwitchColor;
        self.accessoryView = self.fieldSwitch;
    }
}

这绝对没有效果;我还尝试将其作为子视图添加到单元格的contentView,然后调用bringSubviewToFront:。再一次,没有成功。

我查了一下,selfaccessoryViewfieldSwitch没有一个是nil

有没有人知道会出现什么问题?在旁注中,是否有人理解为什么默认情况下会从IB添加控件?

1 个答案:

答案 0 :(得分:1)

如果使用大小类,则必须为UISwitch设置约束。例如,如果您使用Any Any size类并将UISwitch放置在单元格中,则它实际上可能显示在远离右侧的位置。 (我想发布此作为评论,但不足以代表)