में कीबोर्ड कुंजी पॉप एनीमेशन मैं जब iOS 8 कीबोर्ड विस्तार के लिए एक कुंजीपटल कुंजी दबाए रख पॉप एनीमेशन लागू करने के लिए कैसे पूछना चाहेंगे। मैं हर कुंजी को देर तक दबाए इशारा आवंटित करने के लिए कैसे, लेकिन कैसे कुंजी चेतन करने के लिए है कि विशिष्ट कुंजी में अन्य पात्रों पेश करने के लिए पता नहीं है पता है।लागू iOS 8 कीबोर्ड एक्सटेंशन
संपादित करें: मैंने इस समान प्रश्न को here से पूछा जा रहा है लेकिन अंतर यह है कि वह पॉप एनिमेशन बनाने में सक्षम था।
संपादित करें 2: मैं एक और इसी तरह सवाल देखा here कहा जा रहा है, लेकिन वे यह कैसे मानक कीबोर्ड पर डिफ़ॉल्ट रंग-रूप की तुलना में की तरह दिखता है पर भिन्न होते हैं।
संपादित करें 3: मैं जब कुंजीपटल कुंजी दोहन मेरी वांछित व्यवहार को प्राप्त करने में सक्षम था। मुझे बस विस्तारित कुंजी दृश्य को सही ढंग से आकर्षित करने के बारे में जानने की आवश्यकता है। संलग्न संदर्भ के लिए चित्र हैं। पहला वह है जिसे हमने अभी तक हासिल किया है। मुझे पता है कि पत्र एफ कुंजी आकर्षित और फिर करने के लिए कैसे एक UIView
बाद में इसका अनुवाद करना चाहते हैं।
संपादित करें 4: मैं कुंजी पॉप दृश्य बनाने के लिए कर रहा था लेकिन नहीं वांछित आकार या परत में मैं करने के लिए है कि मानक कीबोर्ड कुंजी पॉप जैसा दिखता है चाहता था। यहाँ यह संदर्भ के लिए है:
संपादित 5: मैं PaintCode का डेमो संस्करण की कोशिश की और यह कोड नीचे बनाया गया। यह मेरे कस्टम दृश्य पर मेरे drawRect
विधि के अंदर है। मेरी चाबियाँ चौड़ाई आमतौर पर 26.0 और 3 9 .0 की ऊंचाई है। मैं उद्देश्य-सी बीटीडब्ल्यू का भी उपयोग कर रहा हूं।
UIBezierPath* bezierPath = UIBezierPath.bezierPath;
[bezierPath moveToPoint: CGPointMake(26, 5.12)];
[bezierPath addLineToPoint: CGPointMake(26, 18.03)];
[bezierPath addCurveToPoint: CGPointMake(23.05, 22.41) controlPoint1: CGPointMake(26, 19.88) controlPoint2: CGPointMake(24.82, 21.51)];
[bezierPath addCurveToPoint: CGPointMake(19.62, 25.27) controlPoint1: CGPointMake(22.05, 23.24) controlPoint2: CGPointMake(20.79, 24.3)];
[bezierPath addCurveToPoint: CGPointMake(19.62, 39.95) controlPoint1: CGPointMake(19.62, 30.82) controlPoint2: CGPointMake(19.62, 39.95)];
[bezierPath addCurveToPoint: CGPointMake(17.17, 42) controlPoint1: CGPointMake(19.62, 41.08) controlPoint2: CGPointMake(18.52, 42)];
[bezierPath addLineToPoint: CGPointMake(8.83, 42)];
[bezierPath addCurveToPoint: CGPointMake(6.38, 39.95) controlPoint1: CGPointMake(7.48, 42) controlPoint2: CGPointMake(6.38, 41.08)];
[bezierPath addCurveToPoint: CGPointMake(6.38, 25.33) controlPoint1: CGPointMake(6.38, 39.95) controlPoint2: CGPointMake(6.38, 30.89)];
[bezierPath addCurveToPoint: CGPointMake(5.67, 24.74) controlPoint1: CGPointMake(6.15, 25.14) controlPoint2: CGPointMake(5.91, 24.94)];
[bezierPath addCurveToPoint: CGPointMake(5.37, 24.49) controlPoint1: CGPointMake(5.57, 24.66) controlPoint2: CGPointMake(5.47, 24.57)];
[bezierPath addLineToPoint: CGPointMake(5.32, 24.45)];
[bezierPath addCurveToPoint: CGPointMake(2.75, 22.3) controlPoint1: CGPointMake(4.41, 23.69) controlPoint2: CGPointMake(3.5, 22.93)];
[bezierPath addCurveToPoint: CGPointMake(1.02, 20.85) controlPoint1: CGPointMake(2.06, 21.92) controlPoint2: CGPointMake(1.47, 21.43)];
[bezierPath addCurveToPoint: CGPointMake(0.98, 20.82) controlPoint1: CGPointMake(0.99, 20.83) controlPoint2: CGPointMake(0.98, 20.82)];
[bezierPath addCurveToPoint: CGPointMake(0, 18.03) controlPoint1: CGPointMake(0.36, 20.02) controlPoint2: CGPointMake(-0, 19.06)];
[bezierPath addLineToPoint: CGPointMake(0, 5.12)];
[bezierPath addCurveToPoint: CGPointMake(2.48, 1.01) controlPoint1: CGPointMake(0, 3.44) controlPoint2: CGPointMake(0.97, 1.94)];
[bezierPath addCurveToPoint: CGPointMake(6.05, 0) controlPoint1: CGPointMake(3.48, 0.39) controlPoint2: CGPointMake(4.71, 0.02)];
[bezierPath addLineToPoint: CGPointMake(6.13, 0)];
[bezierPath addLineToPoint: CGPointMake(19.87, 0)];
[bezierPath addCurveToPoint: CGPointMake(26, 5.12) controlPoint1: CGPointMake(23.25, 0) controlPoint2: CGPointMake(26, 2.29)];
[bezierPath closePath];
[[UIColor redColor] setFill];
[bezierPath fill];
समस्या है, यह इस तरह दिखता है:
केवल मैं इसे इतना बड़ा डिफ़ॉल्ट कीबोर्ड की तरह इसे बनाने के लिए कर सकते हैं, तो यह काम करेंगे।
आप इस्तेमाल कर सकते हैं 'CGAffineTransform' साथ
UILabel
एनीमेशन अपने बिजीयर पथ की 'CGPath' प्रॉपर्टी की एक प्रति स्केल करने के लिए पर्याप्त है जब तक कि यह काफी बड़ा न हो। –इस लिंक को चेक करें। मैंने पॉप अप बटन का अपना कोड जोड़ा है: http://stackoverflow.com/a/33355236/535013 – Muzammil
धन्यवाद सर मुज़मिल :) – jaytrixz