CGPointMake 在 vi​​ewDidLoad 中不起作用

Posted

技术标签:

【中文标题】CGPointMake 在 vi​​ewDidLoad 中不起作用【英文标题】:CGPointMake doesn't work in viewDidLoad 【发布时间】:2012-09-20 15:51:04 【问题描述】:

我有一个按钮需要在 viewDidLoad 上移动,但它不想移动... 奇怪的是,如果我在 -(IBAction) 上使用相同的确切代码,那么它应该会移动......任何线索为什么会发生这种情况? 我用来移动按钮的代码是这样的:

self.myButton.center = CGPointMake(50, 120);

感谢您的帮助。 和平, 马西

【问题讨论】:

尝试将代码放入viewWillAppear: 您确定视图已加载吗?如果还没有,那么按钮将不会被配置。为什么不尝试在设置中心点之前输入self.view.alpha = 1.0f 首先感谢您的帮助,但它不适用于 alpha 设置...我还注意到,如果我设置一个至少 0.9 秒的计时器来调用相同的 void代码它可以工作,但它只有在时间不少于 0.9 并且之后正常调用 void [self myVoid]; 时才有效; 我必须补充一下,我在 Xcode 4.5 上,也许这种奇怪的行为是因为在这个版本的 Xcode 中发生了一些变化? 也许吧。我不太确定为什么会这样。也许将代码放在动画块中,然后将动画持续时间设置得很低? 【参考方案1】:

对于遇到相同问题的任何人,我在此步骤中找到了解决方案:presentViewController: crash on ios <6 (AutoLayout) 删除“使用自动布局”选项让我的应用正常运行。

【讨论】:

哦,自动布局,你真是太麻烦了!很好地追踪它。 是的...这真的让我发疯了...但我很确定这是因为新的 xcode... 同样的问题。 Xcode 6. 我没有删除自动布局选项。怎么办?

以上是关于CGPointMake 在 vi​​ewDidLoad 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

CGRectMake、CGPointMake、CGSizeMake、CGRectZero、CGPointZero 在 Swift 中不可用

iOS:“recognizer.view.center = CGPointMake(...”的错误效果

iOS 开发设置空间旋转中心点的代码

使用 UIBezierPath 时出错

确定线是不是与 CGRect 相交

内容偏移动画损坏