2012-07-18 71 views
0

我有一個數組按鈕,當一個用戶點擊一個我想要搜索它的數組。比較2 UIButtons

是的,我給了按鈕標籤,但它們用於其他目的。所以我希望有另一種方式來檢查平等。

我希望我能夠做到像button1.frame.origin == button2.frame.origin這樣的東西,但是編譯器不是那樣的。

回答

0

您可以使用方法bool CGRectEqualToRect(CGRect rect1, CGRect rect2)。只需將這兩個按鈕的框架作爲參數傳入此方法,它就會返回一個bool,說明它們是否相等。

+0

優秀這正是我一直在尋找 – BloonsTowerDefence 2012-07-18 21:48:30

0

UIButton(和UIView)從NSObject繼承,所以你應該只能做到isEqual

if([button1 isEqual:button2]) 
    { 
     // do whatever 
    } 
-1

你可以比較的內存解決了這些對象,相同方法的isEqual使用

NSArray *[email protected][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; 

     } 
    }]; 
+0

-1,無效的數組聲明非MAC OSX測試用戶,這對很多人沒有幫助。 – 2012-07-18 22:35:54

+0

問題是關於對象的比較,數組聲明並不意味着要使用 – 2012-07-18 22:46:18

+0

只是爲了提到:NSArray文字語法也可以在iOS 6 Beta/Xcode 4.5中使用。但是您應該刪除聲明,因爲OP聲明該數組已經存在。只是爲了避免混淆。 – vikingosegundo 2012-07-18 23:44:15