2011-02-06 9 views
0

UILabelをランダムに画面上の異なる所定の点に移動する方法を理解しようとしています(つまり、あらかじめ決められた点のリストからランダムに選択する方法と、そこに移動する)。UILabelを無作為に4または5のx/y座標で移動させる

私の最初の考えは、配列からランダムに選択するメソッドを書くことですが、xとYの2つの別々の配列が必要でしょうか?どんな提案や正しい方向への指摘も大変ありがとう。あなたがするCGPointを置くことができないよう

答えて

1

あなたはNSValueにするCGPointを保存して、配列内の可能性があり、この質問(配列からランダムにオブジェクトを取得) Random Text Sent to UILabel

からコードを適応させることができ(直接にNSArrayで、それは対象ではありませんよう)例:

NSArray *arrayOfPoints = [NSArray arrayWithObjects:[NSValue valueWithCGPoint:point1], 
          [NSValue valueWithCGPoint:CGPointMake(12, 14)], 
          nil]; 

ちょうど店上記の(例のコードだけで2点を、あなたが好きなだけを持つことができ、およびするCGPointがすでに存在する場合、最初の値があります/動的に作成され、2番目の値はその場でポイントを作成する場合です)

私がリンクされ、あなたの質問にそれを適応し、質問の向かいのコードをもたらす:

CGPoint randomPoint = [arrayOfPoints objectAtIndex:arc4random() % [arrayOfPoints count]]; 

myLabel.frame = CGRectMake(randomPoint.x, randomPoint.y, myLabel.frame.size.width, myLabel.frame.size.height); 
+0

おかげで、これは本当に便利です。あなたのソリューションが確実に動作するようにするために何をしようとしているのかを明確にしましょう。だから私は画面上の4つのポイントは、32/45、123/56、56/78と89/75(または何でも)言うことができます。今私がメソッドを呼び出すとき、私はそれらの4つのポイントの1つに移動するために私のラベルが必要です。それは4つのうちの1つでなければなりません。 – HenryGale

+0

はい私が投稿したコードは、あなたが望むものになります。 –

関連する問題