Ios 设置frame.origin.x view.frame.width不会完全隐藏屏幕外的视图

Ios 设置frame.origin.x view.frame.width不会完全隐藏屏幕外的视图,ios,swift,uiview,swift2,frame,Ios,Swift,Uiview,Swift2,Frame,我想把LoginView设置在屏幕的右侧,这样它就看不见了。 我使用了这段代码,并在iPhone4S上进行了测试 LoginView.view.frame.origin.x = LoginView.view.frame.width 但结果并不是我所期望的 结果 我曾尝试将LoginView.view.frame.width打印到控制台,它给了我320.0,但如果我想将视图完全移出窗口,我必须将LoginView.view.frame.width设置为328.0 这8个额外的要点是什么?来自@

我想把LoginView设置在屏幕的右侧,这样它就看不见了。 我使用了这段代码,并在iPhone4S上进行了测试

LoginView.view.frame.origin.x = LoginView.view.frame.width
但结果并不是我所期望的

结果

我曾尝试将
LoginView.view.frame.width
打印到控制台,它给了我320.0,但如果我想将视图完全移出窗口,我必须将
LoginView.view.frame.width
设置为328.0


这8个额外的要点是什么?

来自@TwoStraws的评论解决了我的问题

创建约束时,必须取消选择“约束到页边距”,因此要使其全屏显示,应如下所示


来自@TwoStraws的评论解决了我的问题

创建约束时,必须取消选择“约束到页边距”,因此要使其全屏显示,应如下所示


发生这种情况的原因有几个:


1) 图像视图的内容可能与其边界重叠。是否启用了剪辑子视图

2) 您正在强制将图像视图设置为特定宽度

3) 您已将图像视图的大小设置为其内容的大小

4) 您的约束试图匹配视图的边距,而不是视图本身


在这种特殊情况下——经过一些尝试和错误!——我们计算出正确的解决方案是4。希望这个答案对将来回答这个问题的其他人有用。

有几个原因可能会发生这种情况:


1) 图像视图的内容可能与其边界重叠。是否启用了剪辑子视图

2) 您正在强制将图像视图设置为特定宽度

3) 您已将图像视图的大小设置为其内容的大小

4) 您的约束试图匹配视图的边距,而不是视图本身


在这种特殊情况下——经过一些尝试和错误!——我们计算出正确的解决方案是4。希望这个答案对以后回答这个问题的其他人有用。

图像视图的内容可能与其边界重叠。它是否启用了剪辑子视图?当它出现在屏幕上时,是否填充屏幕?看起来你有8个点的边距…@Tim是的,它填满了屏幕,但我发现它的两边更大4个点,是什么原因造成的?你是否将它设置为特定的宽度?您是否允许它根据其内容调整大小?它的内容是否大于其框架,并且您禁用了剪辑子视图?@TwoStraws我已将约束(尾随边距空间)设置为-20,因此它在故事板中覆盖了100%的宽度,但这似乎是造成问题的原因,因为如果我将其设置为-16,它将覆盖100%的iPhone模拟器宽度,并按预期工作,但在故事板中,它给了我不想要的空白。那么,哪一个是正确的-20或-16?您的图像视图的内容可能与其边界重叠。它是否启用了剪辑子视图?当它出现在屏幕上时,是否填充屏幕?看起来你有8个点的边距…@Tim是的,它填满了屏幕,但我发现它的两边更大4个点,是什么原因造成的?你是否将它设置为特定的宽度?您是否允许它根据其内容调整大小?它的内容是否大于其框架,并且您禁用了剪辑子视图?@TwoStraws我已将约束(尾随边距空间)设置为-20,因此它在故事板中覆盖了100%的宽度,但这似乎是造成问题的原因,因为如果我将其设置为-16,它将覆盖100%的iPhone模拟器宽度,并按预期工作,但在故事板中,它给了我不想要的空白。那么哪一个是正确的-20还是-16?