2011-07-06 11 views
5

मैंने एक दृश्य में दो एक्शन शीट बनाई हैं। दो बटन हैं, प्रत्येक एक एक्शन शीट शुरू करेगा।एक दृश्य में दो एक्शन शीट बनाना

समस्या: जब मैं दोनों एक्शन शीट्स में पहली पसंद पर दबाता हूं तो एक ही क्रिया ट्रिगर होती है।

-(IBAction) ChangeArrow:(id)sender{ 
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Change Arrow" 
                 delegate:self 
               cancelButtonTitle:@"cancel" 
              destructiveButtonTitle:@"Red" 
               otherButtonTitles:@"Blue",@"Black",nil]; 
[actionSheet showInView:self.view]; 
[actionSheet release];} 
- (void) actionSheet: (UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{ 
if (buttonIndex ==[actionSheet destructiveButtonIndex]) { 
    self.bar.image=[UIImage imageNamed:@"red"]; 

} 
else if(buttonIndex == 1){ 
    self.bar.image=[UIImage imageNamed:@"blue"]; 

} 
else if(buttonIndex == 2){ 
    self.bar.image=[UIImage imageNamed:@"dark"];} 
} 

// दूसरा कार्रवाई चादर:

-(IBAction) Background:(id)sender{ 
UIActionSheet *actionSheet2 = [[UIActionSheet alloc] initWithTitle:@"Change Background" 
                 delegate:self 
               cancelButtonTitle:@"cancel" 
              destructiveButtonTitle:@"Sky" 
               otherButtonTitles:@"Thumbs",@"Smiley",nil]; 
[actionSheet2 showInView:self.view]; 
[actionSheet2 release]; 
} 
- (void) actionSheet2: (UIActionSheet *)actionSheet2 didDismissWithButtonIndex:(NSInteger)buttonIndex { 
if (buttonIndex ==[actionSheet2 destructiveButtonIndex]) { 
    self.background.image=[UIImage imageNamed:@"sky"]; 

} 
else if(buttonIndex == 1){ 
    self.background.image=[UIImage imageNamed:@"thumbs"]; 

} 
else if(buttonIndex == 2){ 
    self.background.image=[UIImage imageNamed:@"smiley"];} 
} 
+0

dickison thnx, मैं अभी भी कुछ समस्या आ रही है जब एक कोड लिखने डैनियल: डेविड का सही जवाब में जोड़ने के लिए पी –

उत्तर

25

एक अलग मूल्य के लिए प्रत्येक actionsheet पर टैग प्रॉपर्टी सेट

यहाँ मेरी कोड है। फिर आप प्रेषक.tag को देख सकते हैं कि कौन सी एक्शन शीट आपकी विधि कहलाती है।

पूर्व।

UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Change Arrow" 
                delegate:self 
              cancelButtonTitle:@"cancel" 
             destructiveButtonTitle:@"Red" 
              otherButtonTitles:@"Blue",@"Black",nil]; 
actionSheet.tag = 1; 
UIActionSheet *actionSheet2 = [[UIActionSheet alloc] initWithTitle:@"Change Arrow" 
                 delegate:self 
               cancelButtonTitle:@"cancel" 
              destructiveButtonTitle:@"Red" 
               otherButtonTitles:@"Blue",@"Black",nil]; 
actionSheet2.tag = 2; 

फिर

- (void) actionSheet: (UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{ 
if(actionSheet.tag == 1) { 
    //do something 
} else if(actionSheet.tag == 2) { 
    //do something else 
} 
} 
+0

, आप को देखने के लिए जो इस यह प्रतिनिधि में था जाँच तरीका। –

+0

और यह कैसे किया जा सकता है? –

+0

डेविड को +1: सबसे अच्छा/आसान तरीका के लिए डेविड के जवाब में संपादित उदाहरण देखें –

संबंधित मुद्दे