UISwitch没有显示在自定义UITableView单元格中



我需要一个自定义的celllabelswitch。现在,主要的问题是我不能得到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:。还是没有成功。

我检查了,self, accessoryView, fieldSwitch没有一个是nil

有谁知道是怎么回事吗?另一方面,有没有人明白为什么从IB添加控件是默认打破?

如果你正在使用大小类,你必须为UISwitch设置一个约束。例如,如果你使用任意大小的类并且你把UISwitch放在单元格中它可能会显示在离右边很远的地方。

最新更新