2013-01-08 38 views
8

मुझे अपने ऐप में दृश्यों के बीच संक्रमण करते समय TransitionfromView का उपयोग करने में समस्याएं आ रही हैं।TransitionFromView पिछले दृश्य को हटा देता है

सेटअप

यह दृश्य नियंत्रक के बुनियादी सेटअप है। इसमें दो विचार हैं। एक एमकेमैप व्यू और यूआईटीबल व्यू। जब टॉगल बटन दबाया जाता है, तो यह मानचित्र और तालिका के बीच वैकल्पिक विचारों को माना जाता है।

यह मेरा * ज फ़ाइल

@interface BrowseBeaconsViewController : UIViewController <UITableViewDelegate, MKMapViewDelegate, UITableViewDataSource, CLLocationManagerDelegate > 
{ 

__weak IBOutlet UIBarButtonItem *refreshBeacons; 
__weak IBOutlet UIBarButtonItem *toggleView; 
MKMapView* beaconMapView; 
__weak IBOutlet UITableView* beaconTableView; 
} 

तो tableview जबकि MapView कार्यक्रम में बनाई गई है स्टोरीबोर्ड से आता है।

समस्या

[UIView transitionFromView:beaconTableView toView:beaconMapView duration:1.0 options:UIViewAnimationOptionTransitionFlipFromLeft completion:^(BOOL finished) {}]; 

जब मैं MapView से tableview से संक्रमण tableview के मान रिक्त है (0x0000000)। मैं समझता हूं कि संक्रमण के व्यवहार को मूल दृश्य से दृश्य को हटाना है। लेकिन जब मैं संक्रमण के बाद सबव्यूव के रूप में टेबलव्यू को जोड़ने का प्रयास करता हूं तो यह काम नहीं करता है, क्योंकि मान शून्य है। तो मेरा सवाल यह है कि अगर दृश्य को रद्द कर दिया गया है तो संक्रमण के बाद मैं टेबलव्यू कैसे जोड़ूं?

पीएस: अगर यह एक साधारण सवाल है, तो मैं क्षमा चाहता हूं, लेकिन मैं आईओएस प्रोग्रामिंग में नया हूं और इस प्रश्न को पोस्ट करने से पहले मंचों को देखने का प्रयास किया।

उत्तर

29
कि विधि पर डॉक्स से

:।

"डिफ़ॉल्ट रूप से, fromView में दृश्य toView में दृश्य द्वारा दृश्य पदानुक्रम में बदल दिया जाता है दोनों विचारों को पहले से ही आपके विचार पदानुक्रम का हिस्सा हैं, तो आप शामिल कर सकते हैं UIViewAnimationOptionShowHideTransitionViews विकल्प विकल्प पैरामीटर में बस उन्हें छिपाने या दिखाने के लिए विकल्प। "

तो, यदि आप दोनों विचारों को रहना चाहते हैं, तो दृश्य पदानुक्रम में beaconMapView जोड़ें, और UIViewAnimationOptionShowHideTransitionViews विकल्प शामिल करें।

+0

धन्यवाद कि यह किया। – omgpython

+0

बहुत अच्छा, धन्यवाद – kernix

+0

यह काम करता है। लेकिन मेरे पास एक और सवाल है। कैसे तय करें कि कौन सा विचार सामने है? क्योंकि मैं इसे संग्रह दृश्य कक्ष में उपयोग कर रहा हूं। –

2

आपको बीकनटेबल व्यू के लिए एक अलग संदर्भ रखने की आवश्यकता है या इसे कमजोर के बजाय इसे मजबूत घोषित करने की आवश्यकता है। चूंकि बीकनटेबलव्यू को कमजोर घोषित किया गया है, आईओएस 5+ समझता है कि इसे किसी अन्य संदर्भ के बाद इसे लटकने की आवश्यकता नहीं है, इस मामले में इसे अपने मूल दृश्य से हटाकर हटा दिया गया है।

0

कमजोर निकालें, अन्यथा दृश्य को जितनी जल्दी आवश्यकता हो उतनी जल्दी रिलीज़ हो जाती है।

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