2015-01-16 10 views
7

मैंने पृष्ठ-आधारित ऐप्पल वॉच ऐप बनाने की कोशिश की।गतिशील पृष्ठ-आधारित ऐप्पल वॉच ऐप

जहाँ तक मैं देख सकता हूं, आप स्टोरीबोर्ड में अपने ऐप के लिए निश्चित संख्या में पेज बना सकते हैं।

तो मुझे आश्चर्य है कि लोड किए गए डेटा के आधार पर आपके ऐप के लिए गतिशील रूप से प्रोग्राम बनाने के लिए कोई तरीका है या नहीं?

आईई: एक समाचार पत्र ऐप जिसमें उपयोगकर्ता विभिन्न लेखों पर स्विच करने के लिए बाएं और दाएं स्वाइप कर सकते हैं।

धन्यवाद

+0

क्या आपको समाधान मिला है ?? –

+0

@ बंदीश डेव मुझे इस समस्या पर वापस आने का मौका नहीं मिला है, लेकिन पिछली बार मैंने चेक किया था, कोई सही समाधान नहीं था। समाधान के लिए –

उत्तर

10

आप कोड से पृष्ठ आधारित नेविगेशन प्रस्तुत कर सकते हैं। आप जितने चाहें उतने पृष्ठ निर्दिष्ट कर सकते हैं, लेकिन उन पृष्ठों वस्तुओं के लिए स्टोरीबोर्ड

func presentControllerWithNames(names: [AnyObject], contexts: [AnyObject]?) // modal presentation of paged controllers. contexts matched to 

उदाहरण

वर्तमान Page इंटरफेस डिजाइन किया जाना है। यह कोड प्रत्येक ऑब्जेक्ट

let objects = ["1", "2", "3", "4", "5"] 
let controllers = Array(count: objects.count, repeatedValue: "Page") 
presentControllerWithNames(controllers, contexts: objects) 

विभिन्न ऑब्जेक्ट ऑब्जेक्ट के लिए वर्तमान अलग इंटरफ़ेस के लिए पृष्ठ दिखाता है।

let objects = [1, 2, 3, 4, 5] 
let controllers = objects.map { object in object % 2 == 0 ? "Even-Page" : "Odd-Page" } 
presentControllerWithNames(controllers, contexts: objects) 
+0

धन्यवाद, यह काम किया। लेकिन विधि वास्तव में एक पृष्ठ-आधारित मोडल दृश्य प्रदर्शित करती है, इसलिए स्क्रीन पर एक रद्द बटन है। क्या कोई तरीका है कि हम उस रद्द करें बटन को हटा सकते हैं और इसके बजाय अपना स्वयं का बटन बना सकते हैं? –

+0

नहीं, ऐसा नहीं है। कम से कम इस समय @LeonNguyen –

+0

@LeonNguyen अस्थायी कामकाज के रूप में आप [WKInterfaceController पर मौजूद [self setTitle: ""] को कॉल कर सकते हैं। यह रद्द करें बटन को खाली स्ट्रिंग में बदल देगा लेकिन दुर्भाग्य से यह चयन योग्य जारी रहेगा। इसके अलावा वर्तमान बीटा 5 में यह करने से आप नियंत्रक प्रकट होने पर एक सेकंड के लिए रद्द करें बटन देखेंगे। इसे पूरी तरह से अदृश्य बनाने के लिए आपको आईबी में "शीर्षक" फ़ील्ड को स्पेस स्ट्रिंग पर सेट करना होगा। – ggould75

7

जड़ इंटरफेस नियंत्रक के awakeWithContext विधि में, WKInterfaceController.reloadRootControllersWithNames वर्ग विधि का उपयोग करें।

let objects = ["1", "2", "3", "4", "5"] 
let controllers = Array(count: objects.count, repeatedValue: "Page") 
WKInterfaceController.reloadRootControllersWithNames(controllers, contexts: objects) 
+0

यह मेरे लिए काम नहीं कर रहा है। क्या मुझे स्टोरीबोर्ड में इंटरफ़ेस नियंत्रकों को मैन्युअल रूप से जोड़ने की आवश्यकता है? –

0

मैं इन उत्तरों काम करने के लिए है क्योंकि मैं एक महत्वपूर्ण हिस्सा याद आ रही थी नहीं मिल सका, आप नियंत्रक नाम के रूप में इसके पहचानकर्ता के साथ एक दूसरे इंटरफेस नियंत्रक बनाना होगा। अधिक जानकारी के लिए यहां देखें: https://stackoverflow.com/a/28955247/945247

+0

क्या आप नहीं देख सकते कि मैं नहीं हूं? – Leon

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