以编程方式在Swift中定位对象

时间:2015-04-29 10:10:31

标签: ios xcode swift

我想以编程方式设置对象的位置。为此我做了:

youtubeIco.frame.origin.y = 100

但没有。它根本不会改变坐标。有什么问题?

还有第二个问题:

当我设置webView的XCode约束时(例如:10(顶部,左侧,右侧,底部)它会消失。但是当我没有为它设置约束时,它会出现。问题是什么?

我想这样:

enter image description here

2 个答案:

答案 0 :(得分:5)

您需要设置完整的框架,

youtubeIco.frame = CGRectMake(youtubeIco.frame.origin.x, 100,youtubeIco.frame.size.width,youtubeIco.frame.size.height)

只有y轴更改不会对它做任何事情,你必须提供全帧。或设置中心或偏移。

答案 1 :(得分:0)

使用AutoLayout,您无法直接更改视图的帧。约束将对象放回原位。

相反,您应该添加用于定位视图的约束并将IBOutlet添加到这些约束。然后使用插座更改约束的常量值,约束将移动视图对象。 (在这种情况下,您可以在屏幕上显示的任何内容都是视图{UIView的后代},包括按钮。)

相关问题