2011-12-08 10 views
7

मेरे पास मेरे ऐप में एक चैट फीचर है और मैं उंगली को नीचे खींचकर कीबोर्ड को छुपाने की कोशिश कर रहा हूं जैसे कि आप आईओएस 5 में एसएमएस ऐप में कीबोर्ड कैसे छिपा सकते हैं ।आईओएस में एसएमएस ऐप की तरह उंगली खींचकर कीबोर्ड छुपाएं 5

मैं UITableView subclassed है, लेकिन जैसे ही स्क्रॉल शुरू होता है के रूप में मैं अब

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 

को कॉल प्राप्त मैं सोच रहा हूँ कि कैसे मैं स्क्रॉल हो और पता कर सकते हैं जहां उंगली स्क्रॉल के दौरान होता है ताकि अगर यह कीबोर्ड के करीब आने लगता है मैं इसे छिपाना शुरू कर सकता हूं।

मुझे लगता है कि यह एक विशेषता है जो बहुत से लोग चाहते हैं, इसे बनाने के तरीके पर कोई विचार?

+0

AFAIK स्क्रॉल पर कीबोर्ड ख़ारिज करता है, तो तालिका दृश्य, खींचें इशारा से अधिक नहीं ले करता है तो बाद के सभी स्पर्श इवेंट बजाय स्क्रॉल दृश्य के लिए भेजा जाता करते हैं। इसलिए आपको इसे 'UIScrollView' के उप-वर्ग में या शायद इसके प्रतिनिधि में लागू करने की आवश्यकता है। –

+0

हाँ मैंने इसके बारे में सोचा, लेकिन यह सुनिश्चित नहीं था कि मेरे संस्करण – odyth

+0

के साथ टेबलव्यू के स्क्रॉल व्यूअर को कैसे बदला जाए, क्षमा करें, आप मेरी पिछली टिप्पणी को नजरअंदाज कर सकते हैं। मुझे नहीं पता था कि 'UITableView'' UIScrollView' का उप-वर्ग है। मैंने पहले कभी ऐसा स्क्रॉल व्यू सेटअप नहीं देखा है। –

उत्तर

7

यह DAKeyboardControl आप के लिए क्या देख रहे के लिए एक एमआईटी लाइसेंस कोड स्रोत।

+0

@odyth, यह वह जवाब है जिसे आप चाहते हैं। मैं बस इसे खुद करने की सोच रहा था, और डेकीबोर्ड कंट्रोल का उपयोग करना बहुत आसान है। कोड की एक पंक्ति (+ #import), और यह एक आकर्षण की तरह काम करता है। –

+0

यह अब बहुत पुरानी और बेकार पुस्तकालय है! – AsifHabib

2

UITableView, UIScrollView से विरासत ताकि आप - (void)scrollViewDidScroll:(UIScrollView *)scrollView

+0

हालांकि आप उपयोगकर्ता की उंगली की स्थिति कैसे प्राप्त करते हैं? – odyth

+0

UITableView का अपना सबक्लास बनाएं, UIScrollView के 'स्पर्श्सशोल्डबिन: withEvent: inContentView:' स्पर्श बिंदु का पता लगाने के लिए विधि लागू करें, फिर कीबोर्ड को छुपाने के लिए 'scrollViewDidScroll:' में आंदोलन की निगरानी करें। – changx

4

इसके अलावा Googling तरह UIScrollViewDelegate तरीकों के साथ स्क्रॉल स्थिति का पता लगा सकते पता चला है कि इस सवाल का डुप्लिकेट है:

How to move iPhone keyboard down like in Messages.app?

3

मैं यह सुविधा सक्षम था Daniel's DAKeyboardControl library की सहायता से, मेरे ऐप में। आप बयान का सिर्फ एक लाइन के साथ iMessage शैली कुंजीपटल छुपा अम्लता को लागू कर सकते हैं:

[self.view addKeyboardPanningWithActionHandler:^(CGRect keyboardFrameInView) { 
    // Move interface objects accordingly 
    // Animation block is handled for you 
}]; 
2

भाग्य से आईओएस 7 में ऐप्पल keyboardDismissModeUIScrollView पर आसान संपत्ति जोड़ा गया। अब आपका ऐप सिर्फ स्टोरीबोर्ड पर एक ही संपत्ति को बदलकर या कोड की एक पंक्ति जोड़कर संदेशों की तरह व्यवहार कर सकता है।

यह संपत्ति नए ScrollViewKeyboardDismissMode enum का उपयोग करती है। इस प्रकार enum के लिए संभावित मूल्य हैं।

UIScrollViewKeyboardDismissModeNone 
UIScrollViewKeyboardDismissModeOnDrag 
UIScrollViewKeyboardDismissModeInteractive 

यहाँ स्टोरीबोर्ड संपत्ति

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