UISwitch 未显示在自定义 UITableView 单元格中
UISwitch not displaying in custom UITableView Cell
我需要一个带有 label
和 switch
的自定义 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:
。再次,没有成功。
我查了一下,self
、accessoryView
、fieldSwitch
none个是nil
.
有谁知道哪里出了问题?附带一提,有没有人明白为什么默认情况下从 IB
添加控件会被破坏?
如果您使用尺寸 classes,您必须为 UISwitch 设置约束。例如,如果您使用 Any Any 大小 class 并将 UISwitch 放置在单元格中,它实际上可能会显示在右侧很远的地方。 (我会把它作为评论发布但是没有足够的代表)
我需要一个带有 label
和 switch
的自定义 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:
。再次,没有成功。
我查了一下,self
、accessoryView
、fieldSwitch
none个是nil
.
有谁知道哪里出了问题?附带一提,有没有人明白为什么默认情况下从 IB
添加控件会被破坏?
如果您使用尺寸 classes,您必须为 UISwitch 设置约束。例如,如果您使用 Any Any 大小 class 并将 UISwitch 放置在单元格中,它实际上可能会显示在右侧很远的地方。 (我会把它作为评论发布但是没有足够的代表)