0

10 個の UIButton (l1、l2、l3...l10) もあり、BOOL c1、c2、c3、...c10 もあります。

- (void) viewDidLoad
{
    c1 = true;
    ////c2,3,..c10 = false

}

今、ボタンを押すと、次のコードがあります:

- (IBAction)tapButton:(id)sender {

    ///// if user press first Button
    if([sender tag] == 1)
    {

        if(c1 = true){
        /// move l1 button to a1 position & set c1 false and open c2.
        l1.center = a1.center
        c1 = false;
        c2 = true;
    }

    else if (c1 = false)
    {

        /// return l1 button to "o" position (original position)
        l1.center = o1.center;
    }

}

このコードはこのボタンで機能しますが、「SENDER TAG 2、3 ... 10」で繰り返してみるとうまくいきません。単語ゲームとまったく同じトリックを使用しようとしています。

文字を押すと最初のボックス/位置に移動し、別の文字を押すと2番目のボックス/位置に移動し、ボックス/位置から1文字押すと元の位置に戻ります..

それを機能させる方法を教えてください。たぶん、スイッチなどを使用しています。

ありがとう

4

1 に答える 1

0

私が最初に気付くのは、慣例として true の代わりに YES を使用するという事実に加えて、c1 の値を評価しているのではなく、それを代入していることです (比較の結果は常に true になります)。正しいコードは次のとおりです。

if(c1 == YES) {...}

あるいは単に:

if(c1) {...}

それが機能するかどうかを教えてください。他の問題があるかもしれません。

于 2013-03-11T23:58:47.027 に答える