ios - 为什么我不能在 viewWillAppear 中以编程方式移动 UIView?我应该什么时候设置定位?

标签 ios uiview positioning center

我有一些观点定位不对。在我的项目中,我已将定位链接到 slider 以尝试确保它正在发生,并且在我拖动 slider 时它会在视觉上不断来回移动。我已经剥离了所有内容并制作了一个测试项目来尝试解决这个问题,虽然它不会来回移动,但在调用 viewWillAppear 时它似乎不起作用,只有在拖动 slider 之后才起作用。屏幕截图和附件。

Initial positioning reflecting the position in IB

The positioning I want to set programmatically at the start that shows when dragging the slider

示例代码:http://www.hyperfileshare.com/d/b7e4b088

最佳答案

您正在使用自动布局,这是一项新的 iOS 6 功能,它不是通过硬编码坐标来控制控件的放置,而是通过一组称为“布局约束”的规则。查看Cocoa Auto Layout Guide了解更多信息。最重要的是,使用自动布局,您不能仅通过更改框架坐标来移动项目。

要查看“自动布局”设置,请打开 Storyboard并打开右侧面板中的“文件检查器”(例如,按 option+command+1) 并查看“使用自动布局”设置。

如果您想使用自动布局,您可以通过更改 View 约束而不是更改框架来移动 View 上的项目。参见 Autolayout seems not working when changing view dimensions programmatically .

关于ios - 为什么我不能在 viewWillAppear 中以编程方式移动 UIView?我应该什么时候设置定位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14246519/

相关文章:

ios - Swift 2.0 'unexpected trailing closure' 惰性变量分配错误

ios - 如何更改 UITextField 的序言文本颜色

iOS - 在输入过程中验证用户 ip 地址

ios - 无法为视频 iOS swift 生成缩略图

ios - 以编程方式自动调整掩码与 Interface Builder/xib/nib

html - 没有绝对或相对定位的中心图标?

iphone - 为什么 UIWindow 既是 UView 的子级又是父级?

iphone - 显示加载

jquery - 如何让 jquery 工具覆盖层与页面的其余部分一起滚动?

jquery - CSS 仅固定 y 轴