0

私はボタンでいっぱいの配列を持っています、そして、使用がボタンをクリックするとき、私はそれのために配列を検索したいと思います。

はい、ボタンにタグを付けましたが、別の目的で使用されています。ですから、平等をチェックする別の方法があることを望んでいます。

私はのようなことができることを望んでbutton1.frame.origin == button2.frame.originいましたが、コンパイラーはそれを好みません。

4

3 に答える 3

0

メソッドを使用できますbool CGRectEqualToRect(CGRect rect1, CGRect rect2)。ボタンの両方のフレームをパラメーターとしてこのメ​​ソッドに渡すだけで、それらが等しいかどうかを示すブール値が返されます。

于 2012-07-18T21:46:31.727 に答える
0

UIButton(およびUIView)はから継承するNSObjectので、できるはずですisEqual

 if([button1 isEqual:button2])
    {
      // do whatever
    }
于 2012-07-18T21:49:07.133 に答える
-1

isEqualメソッドが使用しているのと同じように、これらのオブジェクトのアドレス指定されたメモリを比較できます

NSArray *buttons=@[button1,button2,button3,button4];//your array of buttons
    UIButton *b = (UIButton *)sender;//button to search
    [buttons enumerateObjectsUsingBlock:^(UIButton * button, NSUInteger idx, BOOL *stop) {
        if (button==b) {
        //do your thing here...
        *stop=TRUE;

        }
    }];
于 2012-07-18T22:27:25.710 に答える