2015-05-03 43 views
1

是否可以將幾個控件/按鈕包裝到一個按鈕中,其中所有按鈕都反應(高亮/不高亮)以按下任何元素,並且都共享相同的操作?將幾個UIButtons分組到一個按鈕中

我想要一個按鈕的多個「零件」(主要是標籤和圖標),我可以單獨控制佈局,但是我希望它們的行爲都像一個按鈕,並突出顯示所有零件竊聽。

也許我可以跟蹤每個按鈕的按下狀態,並使所有其他組件具有相同的狀態?

+0

將它們連接到相同的IBAction並在Inteface Builder中給出標籤。然後m在這些標籤上使用switch case語句?我想我誤解了你的問題? –

回答

1

您可以將小點拖動到視圖中的多個按鈕,並且所有這些按鈕都將運行相同的IBAction代碼。

IBAction Connector

如果你想區分它們,你可以在Interface Builder中使用標籤,然後在這些標籤與[sender tag]

Tag

調用,這樣你的IBAction爲可能看起來有點像這樣:

- (IBAction)button_myButtonWasPressed:(id)sender { 

    if ([sender tag] == 0) { 
     // This will run for button tag 0 
    } 

    if ([sender tag] == 1) { 
     // This will run for button tag 1 
    } 
} 
+0

謝謝。儘管如此,我更感興趣的是他們都聚焦在一起。任何想法如何實現? – devios1

+1

我會把你的按鈕放在一個數組中,然後使用快速枚舉循環來運行'[buttonAtIndex setSelected:YES];'在每個按鈕上(其中'buttonAtIndex'是你在for-in循環中聲明的)。您可以在IBAction中的第一個if語句之上執行所有操作,並且每按一次按鈕即可運行到與該IBAction相關的任何按鈕。 – Cole

+0

真棒,我會給它一個鏡頭! – devios1