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 回答