2012-11-14 51 views
0

我有兩個UISwitch,它們都在click事件上調用相同的方法,所以在那個方法中我需要區分兩個開關來知道誰發送事件。對於我分配tag只對其中的一個:視圖控制器上的多個UISwitch

switch1.tag=0; 

在當這些UISwitch的一個被點擊的是被炒魷魚的方法,我作出這樣的試驗:

-(void)switchValueGetsChanged:(UISwitch*)sender{ 

    if (sender.tag==0) { 
     NSLog(@"It's switch 1"); 
    }else{ 

     NSLog(@"It's switch 2"); 
    } 

現在,當我運行代碼中,我注意到的是,我總是得到的第一個消息:

NSLog(@"It's switch 1"); 

甚至當我點擊第二個UISwitch。我的第二UISwitch分配標籤,以及解決該問題:

switch1.tag=0; 
switch2.tag=1; 

現在,問題就解決了,所以我的問題是:如果你得到一個以上的UISwitch,並且要在tag判斷值,是否必須爲所有UISwitch對象分配tag屬性?提前Thanx。

回答

0

你問:

,如果你得到比一個UISwitch多了,你想在tag價值判斷,是強制分配tag財產所有UISwitch對象?

如果你要區分基於其tag屬性然後是,你必須設置其屬性tag任何看法。如果你沒有設置tag,你還能檢查tag嗎?

順便說一句 - 不要使用0作爲您的標籤值之一。這是所有視圖的默認設置,因此將其設置爲0並不真的有幫助。