2012-02-09 12 views
11

मैं क्लिक करने योग्य UIImage, जहां उपयोगकर्ता यह तो क्लिक कर सकते हैं यह चेतन जाएगा बनाने के लिए कोशिश कर रहा हूँ पर जेस्चर टैप ...UIImage

मैं UIScrollView है यही कारण है कि मैं touchesBegan के बजाय UITapGesture इस्तेमाल किया साथ काम कर रहा हूँ जोड़ना, और ऐसा लगता है कि UIGestureRecognizer UIImage के साथ संगत नहीं है ...

क्या मैं सही हूँ?

मैं यह त्रुटि संदेश मिल रखना

रिसीवर प्रकार 'UIImage' उदाहरण के संदेश के लिए चयनकर्ता के साथ एक विधि की घोषणा नहीं करता 'addGestureRecognizer'

क्या कोई अन्य तरीका है?

+0

संभवतः डुप्लिकेट [UIImageView पर जेस्चर रिकॉग्नाइज़र] (http://stackoverflow.com/questions/3907397/gesturerecognizer-on-uiimageview) – iosMentalist

उत्तर

5

आप UIImageView को इशारा जोड़ने के लिए, UIImage

+0

यह कोर एनीमेशन के साथ काम नहीं कर रहा है। मैं यहां क्या करने की कोशिश कर रहा हूं वह यह है कि जब आप इसे क्लिक करेंगे तो छवि एनिमेट हो जाएगी। – Crisn

+0

यहां बिंदु यह है कि UIImage स्पर्श ईवेंट प्राप्त नहीं कर सकता है। आपको कहीं और टच इवेंट को संभालना होगा। – jasondinh

1

UIIMage के बजाय UIButton साथ की कोशिश करो और UIButton प्रकार कस्टम नहीं की है। और इसे क्लिक करने पर आप एनीमेशन दिखा सकते हैं।

+0

UIButton एनिमेटेड हो सकता है? मैंने CoreAnimation की वजह से UIImage का उपयोग किया। बटन क्लिक ईवेंट पर – Crisn

+1

, आप UIImage – Sarah

+0

की एनीमेशन दिखा सकते हैं केवल एक कामकाज है लेकिन सही जवाब नहीं है। UIImageView में इशारा जोड़ने का सबसे अच्छा तरीका है। उन बटनों के रूप में दुरुपयोग बटन न करें जो इसे करने का सही तरीका नहीं है। – mariusLAN

2

आप बस UIImageView में TapGestureRecognizer जोड़ सकते हैं। आपको UIImageView का उपयोग करना होगा क्योंकि इशारा पहचानकर्ता को केवल विचारों में जोड़ा जाने की अनुमति है।

UIView *someView = [[UIView alloc] initWithFrame:CGRectZero]; 
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)]; 
tapRecognizer.numberOfTapsRequired = 1; 
[someView addGestureRecognizer:tapRecognizer];

आप कर सकते हैं परिभाषित चयनकर्ता के साथ नल के जवाब और वहाँ चीज़ें

- (void)tapAction:(UITapGestureRecognizer *)tap 
{ 
    // do stuff 
}
17

आप UIImageView में TapGesture जोड़ने की ज़रूरत नहीं UIImage

imgView.userInteractionEnabled = YES; 

UITapGestureRecognizer *tapGesture1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGesture:)]; 

tapGesture1.numberOfTapsRequired = 1; 

[tapGesture1 setDelegate:self]; 

[imgView addGestureRecognizer:tapGesture1]; 

[tapGesture1 release]; 

आप कर सकते हैं नल के जवाब परिभाषित चयनकर्ता के साथ और वहां सामान

- (void) tapGesture: (id)sender 
{ 
    //handle Tap... 
}