स्विच करना इस प्रश्न से पहले पूछा गया है लेकिन थोड़ा अलग तरीके से और मैं जिस तरह से काम करना चाहता था, उसके काम में से कोई भी जवाब पाने में असमर्थ था, इसलिए मैं उम्मीद कर रहा हूं महान कोर एनीमेशन कौशल वाला कोई मेरी मदद कर सकता है।एक्स-अक्ष के चारों ओर एक यूआईवीव को कैसे फ़्लिप करें जबकि साथ ही सबव्यूज
मेरे पास एक टेबल पर कार्ड का एक सेट है। चूंकि उपयोगकर्ता कार्ड के सेट को ऊपर या नीचे स्वाइप करता है, तालिका को ऊपर और नीचे ले जाता है। किसी भी समय स्क्रीन पर 4 कार्ड दिखाई दे रहे हैं, लेकिन केवल दूसरा कार्ड अपना चेहरा दिखा रहा है। चूंकि उपयोगकर्ता दूसरे कार्ड को अपने चेहरे पर वापस फिसलता है और अगला कार्ड (स्वाइप दिशा के आधार पर) इसके स्थान पर अपनी जगह दिखाता है।
मैं इस तरह मेरा कार्ड दृश्य वर्ग की स्थापना की है:
@interface WLCard : UIView {
UIView *_frontView;
UIView *_backView;
BOOL flipped;
}
और मैं कोड के इस टुकड़े का उपयोग कर कार्ड flipping की कोशिश की है:
- (void) flipCard {
[self.flipTimer invalidate];
if (flipped){
return;
}
id animationsBlock = ^{
self.backView.alpha = 1.0f;
self.frontView.alpha = 0.0f;
[self bringSubviewToFront:self.frontView];
flipped = YES;
CALayer *layer = self.layer;
CATransform3D rotationAndPerspectiveTransform = CATransform3DIdentity;
rotationAndPerspectiveTransform.m34 = 1.0/500;
rotationAndPerspectiveTransform = CATransform3DRotate(rotationAndPerspectiveTransform, M_PI, 1.0f, 0.0f, 0.0f);
layer.transform = rotationAndPerspectiveTransform;
};
[UIView animateWithDuration:0.25
delay:0.0
options: UIViewAnimationCurveEaseInOut
animations:animationsBlock
completion:nil];
}
इस कोड काम करता है, लेकिन यह निम्नलिखित है इसके साथ समस्याएं जिन्हें मैं समझ नहीं पा रहा हूं:
- एक्स-अक्ष में कार्ड का केवल आधा एनिमेटेड है।
- एक बार फ़्लिप हो जाने पर, कार्ड का चेहरा उल्टा और प्रतिबिंबित होता है।
- एक बार जब मैंने कार्ड फिसल दिया है तो मुझे एनीमेशन कभी भी फिर से चलाने के लिए नहीं मिल सकता है। दूसरे शब्दों में, मैं एनीमेशन ब्लॉक को जितनी बार चाहूं उतनी बार चला सकता हूं, लेकिन केवल पहली बार एनिमेट होगा। बाद के समय मैं सबव्यूज़ के बीच केवल एक फीका में और बाहर जाने के लिए एनिमेट करने की कोशिश करता हूं।
इसके अलावा, ध्यान रखें कि मुझे कार्ड के चेहरे से बातचीत करने में सक्षम होना चाहिए। यानी इसके पास बटन हैं।
यदि कोई इन मुद्दों में भाग लेता है तो आपके समाधान देखना अच्छा होगा। यथार्थवाद के अतिरिक्त बिट को देने के लिए एनीमेशन में एक परिप्रेक्ष्य परिवर्तन को जोड़ना बेहतर होगा।
धन्यवाद हारून दिखाएगा। संक्रमण WithView विधि ने मुझे समाधान के लिए एक सुराग दिया है। ऐसा कहा जा रहा है, आपने मुझे 3 डी एनिमेशन के बारे में बेहतर समझ दी है। एक अच्छा कोर एनीमेशन पुस्तक में निवेश करने के लिए मेरे लिए समय। –