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

UISwitch not displaying in custom UITableView Cell

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

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

中添加 switch
- (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:。再次,没有成功。

我查了一下,selfaccessoryViewfieldSwitchnone个是nil.

有谁知道哪里出了问题?附带一提,有没有人明白为什么默认情况下从 IB 添加控件会被破坏?

如果您使用尺寸 classes,您必须为 UISwitch 设置约束。例如,如果您使用 Any Any 大小 class 并将 UISwitch 放置在单元格中,它实际上可能会显示在右侧很远的地方。 (我会把它作为评论发布但是没有足够的代表)