我有一个充满按钮的数组,当使用单击一个时,我想在数组中搜索它。
是的,我已经给出了按钮标签,但它们用于其他目的。所以我希望有另一种方法来检查平等。
我希望我能够做类似的事情button1.frame.origin == button2.frame.origin
,但编译器不喜欢那样。
我有一个充满按钮的数组,当使用单击一个时,我想在数组中搜索它。
是的,我已经给出了按钮标签,但它们用于其他目的。所以我希望有另一种方法来检查平等。
我希望我能够做类似的事情button1.frame.origin == button2.frame.origin
,但编译器不喜欢那样。
你可以使用方法bool CGRectEqualToRect(CGRect rect1, CGRect rect2)
。只需将按钮的两个框架作为参数传入此方法,它将返回一个布尔值,说明它们是否相等。
UIButton
(和UIView
)继承自,NSObject
所以你应该能够做到isEqual
。
if([button1 isEqual:button2])
{
// do whatever
}
您可以比较这些对象的内存地址,与 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;
}
}];