0

因此,我尝试将 UISwitch 添加到右侧的表格单元格中。我首先尝试将其添加到 accesoryView,但是当我在表格中进入编辑模式时, UISwitch 消失了。所以现在我将它添加到 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);

但这就是我得到的:

在此处输入图像描述

有什么想法可以解决这个问题吗?

4

1 回答 1

2

您需要在开关上设置适当的自动调整大小掩码或布局约束。

如果您使用弹簧和支柱,您希望开关仅具有灵活的左边距。这将使它与您的超级视图的右侧边缘保持固定距离 - 内容视图很可能在您添加开关和它出现在屏幕上之间调整大小。

要设置此掩码:

switchView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; 

如果您使用自动布局(这使得不使用特定的帧值非常容易!),您需要将开关固定到超级视图的右边缘 -[switch]-|以视觉格式。

于 2013-08-26T07:30:48.653 回答