2015-03-19 58 views
1

我正在使用Xcode嘗試每次按下按鈕時都會隨機更改圖像位置,但由於某種原因,圖像僅在一會兒時移動一次,即使按下按鈕知道它收到按鈕的IBAction爲因的NSLog在IBAction爲顯示在控制檯中,我已經嘗試過兩種方式與這兩種方法只有零星的工作試圖讓我的圖像的位置隨機變化

方法1:

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

方法2:

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

還有一件事:每次它工作,下一個IBAction運行將其恢復到原來的位置。

可能相關的更多信息我不知道,我沒有啓用大小類,它是通過觸摸裏面觸發的。我也DID使所有的RNGs arc4random_uniform。 問題已修復,只需取消選擇自動佈局。

+0

不是它會解決你的問題,但你應該使用[arc4random_uniform()](https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/arc4random_uniform.3。 html)而不是 – Fonix 2015-03-19 03:47:37

+0

它是做什麼的?我知道這與「模數偏差」有關,但是爲了我的目的,你能擴展嗎? – jose 2015-03-19 03:48:55

+0

檢查出這個答案(http://stackoverflow.com/a/10984975/1219956) – Fonix 2015-03-19 03:51:36

回答

0

您添加到按鈕的控件事件是什麼?既然你說過每隔一段時間就會移動一次,你可能會做錯事件。嘗試UIControlEventTouchUpInside 所以,

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

您使用的是故事板我明白了,請確保該按鈕發送事件是「觸摸的內心」。點擊按鈕,進入Connections Inspector並仔細檢查。

+0

當我創建按鈕時,我確實選擇了touch作爲模式,它給出了選項 – jose 2015-03-19 03:49:56

+0

轉到Connections Inspector,查看它是否真的是Touch Up Inside。 – SpencerBaker 2015-03-19 03:54:25

+0

雙重檢查,它是。不過謝謝 – jose 2015-03-19 03:58:51