所以我试图在右边的表格单元格中添加一个UISwitch。 我首先尝试adding it to the accesoryView,但当我进入表格中的编辑模式时,UISwitch消失了。 所以现在我added it to the contentView,工作得很好,没有消失。但它将它添加到左上角。
所以我试图将它添加到右边,但我想远离绝对值以支持所有尺寸和方向。
所以我正在尝试使用此代码:
[[cell contentView] addSubview:switchView];
switchView.frame = CGRectMake(cell.contentView.frame.size.width -
switchView.frame.size.width,
0,
switchView.frame.size.width,
switchView.frame.size.height);
但这就是我所得到的:
任何想法我该如何解决这个问题?
答案 0 :(得分:2)
您需要在交换机上设置适当的自动调整遮罩或布局约束。
如果您使用弹簧和支柱,您希望开关仅具有灵活的左边距。这将使其与超级视图的右侧边缘保持固定距离 - 内容视图很可能在您添加开关和出现在屏幕上之间调整大小。
设置此掩码:
switchView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
如果您正在使用自动布局(这使得不使用特定的帧值非常容易!),您需要将交换机固定在超级视图的右边缘 - [switch]-|
,以可视格式显示。