2011-04-18 15 views
14

जब मैं उस समय बटन को स्पर्श करता हूं तो मैं छवि & बदलना चाहता हूं जब मैं टच बटन छवि को रिलीज़ करता हूं।यूआईबटन - स्पर्श परिवर्तन छवि पर

मैं नीचे कोड लागू करना चाहता हूं लेकिन यह मेरी अपेक्षा के साथ नहीं है।

मुझे कोई सुझाव दे कृपया .....

-(IBAction)actionEnter:(id)sender{ 
      if ([sender isSelected]) { 
       [sender setImage:[UIImage imageNamed:@"enter-hover.png"] 
         forState:UIControlStateNormal]; 
       [sender setSelected:NO]; 
      } else { 
       [sender setImage:[UIImage imageNamed:@"enter.png"] 
         forState:UIControlStateSelected]; 
       [sender setSelected:YES]; 
      } 
+0

मेरा उत्तर जाँच .. – Jhaliya

उत्तर

13

आप इस के लिए UIControlStateHighlighted उपयोग कर सकते हैं।

 
[myButton setImage:[UIImage imageNamed:@"enter-hover.png"] 
      forState:UIControlStateHighlighted]; 

आप इसे हाइलाइट किए गए राज्य के लिए छवि सेट करके इंटरफ़ेस बिल्डर से भी सेट कर सकते हैं।

1

मुझे लगता है, आप सामान्य और चयनित राज्य के लिए शुरुआत में छवि सेट कर सकते हैं ..

नीचे के साथ प्रयास करें जब आप UIButton वस्तु बनाने के।

[myButton setImage:[UIImage imageNamed:@"enter.png"] 
      forState:UIControlStateNormal]; 
[myButton setImage:[UIImage imageNamed:@"enter-hover.png"] 
      forState:UIControlStateSelected]; 
5

[अपने आवश्यकता के अनुसार छवियों का उपयोग करें] मुझे लगता है कि यह यह करना चाहिए। बटन

[yourButton setImage:[UIImage imageNamed:@"enter-hover.png"] 
      forState:UIControlStateSelected]; 
[yourButton setImage:[UIImage imageNamed:@"enter.png"] 
      forState:UIControlStateNormal]; 

बनाने के बाद छवियों सेट करें और तुरंत छवि को बदलने backgroundImage संपत्ति का उपयोग करने के लिए इस

- (IBAction)actionEnter:(id)sender{ 
    UIButton *button = (UIButton *)sender; 
    button.selected = !button.selected; 
} 
0

@ 7 केवी 7 ने मुझे सोच लिया। मैंने उन पसंदीदा चित्रों और चित्रों को चिह्नित करने के लिए उपयोग करना चाहता हूं जिन्हें मैं कभी नहीं देखना चाहता हूं। मैंने बटन को आरंभ करने के लिए अपनी विधि का उपयोग किया और फिर बटन को चालू और बंद करने के लिए अपनी विधि को थोड़ा संशोधित किया।

इस उदाहरण में, यदि आप एक तस्वीर को पसंदीदा के रूप में चिह्नित करते हैं, तो आप अनदेखा बटन को बंद करना चाहते हैं और इसके विपरीत। प्रतिनिधि डेटाबेस सामान को संभालता है।

self.favoriteButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
     self.ignoreButton = [UIButton buttonWithType:UIButtonTypeCustom]; 

     [self.favoriteButton setImage:[UIImage imageNamed:@"Favorite-Selected"] 
          forState:UIControlStateSelected]; 
     [self.favoriteButton setImage:[UIImage imageNamed:@"Favorite"] 
          forState:UIControlStateNormal]; 

     [self.ignoreButton setImage:[UIImage imageNamed:@"Ignore-Selected"] 
          forState:UIControlStateSelected]; 
     [self.ignoreButton setImage:[UIImage imageNamed:@"Ignore"] 
          forState:UIControlStateNormal]; 

तुम सिर्फ चालू या बंद एक बटन टॉगल रहे हैं, तो आप इसे एक संपत्ति बनाने के लिए, के बाद से buttonPressed इस जानता है जो बटन दबाया गया है की जरूरत नहीं होगी। मुझे उन्हें संपत्ति होने की ज़रूरत है क्योंकि मुझे इसके हाइलाइट को बंद करने के लिए विपरीत बटन बताने की ज़रूरत है।

- (void)favoriteIgnore:(UIButton *)buttonPressed { 

    // Toggle the tapped button 
    buttonPressed.selected = (buttonPressed.selected) ? NO : YES; 

    id <ScoringToolbarDelegate> TB_delegate = _delegate; 

    // Turn off the other button and call the delegate 
    if ([buttonPressed.currentTitle isEqualToString:@"favorite"]) { 

     self.ignoreButton.selected = NO; 
     [TB_delegate favoriteButtonPressed]; 

    } else { 

     self.favoriteButton.selected = NO; 
     [TB_delegate ignoreButtonPressed]; 
    } 
} 
1

स्विफ्ट में:

button.setImage(UIImage(named: "enter.png"), forState: [.Selected, .Highlighted])

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