मेरा वर्तमान डिज़ाइन डेटा के चित्र और परिदृश्य दृश्यों के बीच कुछ शांत एनीमेशन के लिए कॉल करता है। डेटा प्रतिनिधित्व काफी जटिल है, इसलिए ग्राफिकल और डेटा तत्वों के बीच, स्क्रीन पर लगभग 30 बटन और लेबल एक बार में होते हैं। मैंने एक बहुत कसकर डिजाइन किया इंटरफेस बनाया है ... अब मैं लैंडस्केप व्यू के लिए तत्वों को बिछा रहा हूं। एक ही रास्ता मैं अब तक यह करने के लिए मिल गया है वास्तव में उदाहरण के लिए, कोड में लैंडस्केप दृश्य बाहर रखना है:इंटरफ़ेस बिल्डर में वास्तव में * दृश्यमान डिज़ाइन * जुड़वां विचार (परिदृश्य + चित्र) के लिए कोई तरीका है?
-(void) positionViews {
UIInterfaceOrientation destOrientation = self.interfaceOrientation;
if (destOrientation == UIInterfaceOrientationPortrait || destOrientation == UIInterfaceOrientationPortraitUpsideDown) {
//---if rotating into PORTRAIT mode
timeBGbox.frame = CGRectMake(14, 88, 134, 14);
targetTime.frame = CGRectMake(0, 99, 150, 29);
energyBGbox.frame = CGRectMake(156, 88, 68, 14);
targetEnergy.frame = CGRectMake(154, 99, 70, 29);
speedBGbox.frame = CGRectMake(234, 88, 68, 14);
targetSpeed.frame = CGRectMake(226, 99, 48, 29);
speedLabel.frame = CGRectMake(264, 99, 40, 36);
} else {
//---if rotating to LANDSCAPE mode
timeBGbox.frame = CGRectMake(156, 12, 152, 14);
targetTime.frame = CGRectMake(160, 23, 150, 29);
energyBGbox.frame = CGRectMake(156, 50, 68, 14);
targetEnergy.frame = CGRectMake(154, 61, 70, 29);
speedBGbox.frame = CGRectMake(234, 50, 74, 14);
targetSpeed.frame = CGRectMake(228, 61, 48, 29);
speedLabel.frame = CGRectMake(269, 61, 40, 36);
}
}
यह एक श्रमसाध्य प्रक्रिया है कई परीक्षणों लेने पूरा करने के लिए मैं क्या में नेत्रहीन कर सकता है आईबी में सेकंड वर्तमान में, जब मैं आईबी में विचारों के बीच टॉगल करता हूं, और पोर्ट्रेट पर वापस स्विच करने पर मैन्युअल रूप से लैंडस्केप मोड में तत्वों को स्थानांतरित करता हूं, तो वे गलत जगह पर होते हैं। मैंने "स्प्रिंग्स और स्ट्रेट्स" को यथासंभव रचनात्मक रूप से उपयोग किया है, लेकिन मेरे अधिकांश तत्वों को ऑटोसाइजिंग के दायरे से परे सटीक मैन्युअल प्लेसमेंट की आवश्यकता है।
मेरा प्रश्न है: वहाँ आईबी को सक्षम बनता है कि दृश्य लेआउट उपकरण का उपयोग कर एक दृश्य के दो चित्रमय लेआउट के विकास के भीतर एक टॉगल मोड है, या संख्यात्मक कोड एक ही रास्ता है?
+1। इसमें कमी है कि तत्व एनीमेशन के साथ नई स्थिति में फिर से नहीं बदलते हैं, आप केवल पूरे विचारों के बीच संक्रमण को एनिमेट कर सकते हैं। – zoul
मैं इसे तीसरे दृश्य के साथ करता हूं, और कोड में सभी तत्वों को "अस्थायी" घूर्णन दृश्य पर चित्र दृश्य के फ्रेम का उपयोग करके, फिर परिदृश्य दृश्य की स्थिति को एनिमेट करते हैं। यह अभी भी तकनीक का उपयोग करता है I desribe, यह सिर्फ उस पर फैलता है। सुविधा के लिए आप अभी भी आईबी में लैंडस्केप मोड लेआउट कर सकते हैं। – Bogatyr
धन्यवाद Bogatyr ... स्पष्टीकरण के लिए: क्या आप कह रहे हैं कि मुझे हर लेबल और बटन को संबोधित करने की आवश्यकता है _portrait और _landscape संस्करण दोनों की आवश्यकता है? तो मूल रूप से मेरे कोड में मैं एक साथ 2 विचार अपडेट करूँगा? – AcroYogi