6

फेसबुक और कई अन्य ऐप्स में उपयोग किए जाने वाले दृश्य नियंत्रक संक्रमण को कार्यान्वित करना चाहते हैं, स्नैपशॉट संलग्न है। क्या इसे CoreAnimation ढांचे के साथ खेलने की आवश्यकता होगी या यह टूलकिट में उपलब्ध है?फेसबुक शैली संक्रमण कैसे करें

enter image description here

+0

यह कोको टच में उपलब्ध नहीं है, आपको स्क्रीन पर नियंत्रकों को देखने और देखने और शीर्ष पर खींचने के लिए स्वयं को खींचना होगा। –

+0

कोई भी सामान/संसाधन शुरू कर रहा है? – Firdous

+0

क्षमा करें। मुझे किसी भी अच्छे संसाधन के बारे में पता नहीं है –

उत्तर

4

आप CoreAnimation उपयोग करने के लिए जब तक आप एक 3 हिस्सा रूपरेखा है कि किसी को सुझाव दिया आयात करना चाहते हैं है, लेकिन यह है CoreAnimation का उपयोग करने के लिए बहुत आसान है और मेरा सुझाव है कि आप इसे सीखें क्योंकि यह बहुत शक्तिशाली है। आपको एक विचार देने के लिए यहां सबसे आसान तरीका है। आप इसे थोड़ा बेहतर खुद की संरचना एक बार आप अपनी आवश्यकताओं फिट करने के लिए इसके बारे में एक लटका मिलता है, हो सकता है:

@interface yourViewController : UIViewController { 
    // The facebook view in the example, this will be the view that moves. 
    // Init this view with x=0 and let it cover the whole screen. 
    IBOutlet UIView *topView; 

    // The fb menu in the example 
    // Init this view so that it stays behind the topView. 
    IBOutlet UIView *bottomView; 

    BOOL menuVisible; // init to false in viewDidLoad! 
} 

उन्हें बनाएं इंटरफ़ेस बिल्डर में, या कोड से या तथापि:

अपने ViewController में 2 बार देखा गया है आप का उपयोग किया जाता है उन्हें एक दूसरे को ओवरलैप करें ताकि आप केवल शीर्ष दृश्य देखें, और buttomView इसके पीछे रहें।

उपयोगकर्ता मेनू दिखाने के लिए बटन दबाता है:

-(IBAction)menuButtonPressed:(id)sender { 
    // Set up animation with duration 0.5 seconds 
    [UIView beginAnimations:@"ToggleMenu" context:nil]; 
    [UIView setAnimationDuration:0.5]; 

    // Alter position of topView 

    CGRect frame = topView.frame; 

    if (menuVisible) { 
     frame.origin.x = 0; 
     menuVisible = NO; 
    } else { 
     frame.origin.x = 300; //Play with this value 
     menuVisible = YES; 
    } 

    topView.frame = frame; 

    // Run animation 
    [UIView commitAnimations]; 
} 
बेशक

, आप "फेसबुक दृश्य" के लिए अपने स्वयं के UIView उपवर्गों को लागू करना चाहिए और "मेनू दृश्य" आदि और Topview के लिए इस्तेमाल करते हैं और उपरोक्त उदाहरण में नीचे देखें।

+0

हाय मैं अपने आईफोन एप्लिकेशन में एक ही कार्यक्षमता को लागू करने की कोशिश भी कर रहा हूं। मैंने दो UIViews का उपयोग किया है जैसा आपने सुझाव दिया है और शीर्ष दृश्य को स्लाइड करने के लिए टॉगलमेनू एनीमेशन का उपयोग किया है। लेकिन चूंकि मेरे पास UINavigationController है, यह शीर्ष दृश्य के साथ स्लाइड नहीं करेगा, यह बस एक ही स्थिति में रहता है। इस बारे में क्या किया जा सकता है? अपने सुझावों की बहुत सराहना करें। – Yasodha

+0

चूंकि यह "इसे स्वयं करें" -सोल्यूशन है, इसलिए इसे यूनाविगेशन नियंत्रक के साथ संयोजित करने के लिए जटिल होगा। यदि आप अपने दृश्य के शीर्ष पर बने नेविगेशन नियंत्रक के साथ नहीं रह सकते हैं, तो आप या तो इसका उपयोग करना बंद कर सकते हैं और अपना स्वयं का नेविगेशन बार बना सकते हैं (मैं इसकी अनुशंसा करता हूं) या मेनू दिखाई देने पर आप इसे छुपा सकते हैं। मुझे यकीन है कि इसे अलग करने के लिए कुछ रास्ता भी है, लेकिन मुझे यह जानने के लिए पर्याप्त मूल्य नहीं दिख रहा है कि कैसे ... –

+0

@ user1280436 आप नेविगेशन बार का उपयोग करने का प्रयास करें। नेविगेशन बार को एनिमेट करने के लिए । कृपया इसे आजमाएं मैं पहले ऐसा नहीं कर रहा हूं। –

1

इस पर एक नजर डालें, तो यह आपको एक प्रारंभिक बिंदु दे सकता है: https://github.com/Inferis/ViewDeck/

+0

हाय मैं अपने आईफोन एप्लिकेशन में एक ही कार्यक्षमता को लागू करने की कोशिश भी कर रहा हूं। मैंने सुझाए गए दो UIViews का उपयोग किया और शीर्ष दृश्य को स्लाइड करने के लिए टॉगलमेनू एनीमेशन का उपयोग किया। लेकिन चूंकि मेरे पास UINavigationController है, यह शीर्ष दृश्य के साथ स्लाइड नहीं करेगा, यह बस एक ही स्थिति में रहता है। इस बारे में क्या किया जा सकता है? अपने सुझावों की बहुत सराहना करें। अग्रिम में धन्यवाद। – Yasodha