【问题标题】:Trying to make my image's position change randomly试图让我的图像的位置随机变化
【发布时间】:2015-03-19 03:30:15
【问题描述】:

我使用 Xcode 尝试在每次按下按钮时随机更改图像位置,但由于某种原因,即使我知道它收到了按钮的 IBAction,图像也只会在按下按钮时偶尔移动一次,因为控制台显示的IBAction中的NSLog,我尝试了两种方法,两种方法都只是偶尔起作用

方法一:

ranX = arc4random() %320;
ranY = arc4random() %480;
myImage.center = CGPointMake(ranX, ranY);

方法二:

myImage.center = CGPointMake(arc4random() %320, arc4random() %480);

还有一件事:每次运行时,下一个要运行的 IBAction 都会将其立即放回原来的位置。

更多可能相关的信息我不知道,我没有启用尺寸等级,它是由内部修饰触发的。我还制作了所有 RNG 的 arc4random_uniform。 问题已解决,只需取消选择自动布局即可。

【问题讨论】:

  • 它不能解决你的问题,但你应该改用arc4random_uniform()
  • 它有什么作用?我知道这与“模数偏差”有关,但您能否为我扩展一下?
  • 签出this answer
  • 谢谢,我试试看
  • 你在使用自动布局吗?

标签: ios objective-c xcode ibaction


【解决方案1】:

您为按钮添加了什么控制事件?既然你说它每隔一段时间就会移动一次,你可能做了错误的事件。试试UIControlEventTouchUpInside 所以,

[myButton addTarget:self action:@selector(moveImage) forControlEvents:UIControlEventTouchUpInside];

您正在使用我看到的情节提要,确保按钮的发送事件是“Touch Up Inside”。单击按钮,转到 Connections Inspector 并仔细检查。

【讨论】:

  • 我在创建按钮时确实选择了 touch up inside 作为模式,它提供了选项
  • 去你的 Connections Inspector 看看它是否真的是 Touch Up Inside。
  • 仔细检查,确实如此。不过谢谢
猜你喜欢
  • 2015-10-28
  • 1970-01-01
  • 2018-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多