2011-06-12 11 views

उत्तर

44

ओवरराइड कर सकते हैं:

- (void)someSetupMethod { 
    // ... 
    label.userInteractionEnabled = YES; 
    UITapGestureRecognizer *tapGesture = \ 
    [[UITapGestureRecognizer alloc] 
    initWithTarget:self action:@selector(didTapLabelWithGesture:)]; 
    [label addGestureRecognizer:tapGesture]; 
    [tapGesture release]; 
} 

- (void)didTapLabelWithGesture:(UITapGestureRecognizer *)tapGesture { 
    // ... 
} 
11

डिफ़ॉल्ट रूप से, UILabel स्पर्श इनपुट स्वीकार करने के लिए कॉन्फ़िगर नहीं किया गया है। हालांकि, यदि आप इसके बजाय UIButton का उपयोग करते हैं और इसे कस्टम उपस्थिति के लिए सेट करते हैं, तो आप इसे एक (सिंगल-लाइन) लेबल की तरह दिख सकते हैं और इसे स्पर्श ईवेंट का जवाब दे सकते हैं।

+0

यह वास्तव में करना आसान था! धन्यवाद! –

0

तुम्हें यकीन userinteractionenabled हाँ पर सेट है बनाने की जरूरत है और आप एक इशारा पहचानकर्ता इस्तेमाल कर सकते हैं तो आप touchesBegan:withEvent:

3

आप इसे उपवर्ग कर सकते हैं और स्पर्श के तरीकों को ओवरराइड। आप शायद touchesEnded:withEvent: ओवरराइड करना चाहते हैं।

या बस यूआईबटन का उपयोग करें।

0

बस यूलाबेल कक्षा के लिए एक श्रेणी जोड़ें और अपनी विधि जोड़ें।

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