2009-10-06 16 views
11

मैं ऐप्पल के अपने संपर्क ऐप के विस्तार दृश्य के समान दृश्य को कार्यान्वित करना चाहता हूं जहां यह नाम, फोन नंबर, नोट इत्यादि और इसके संपादन मोड को प्रदर्शित करता है।आईफोन संपर्क ऐप का विवरण कैसा है

क्या आप विच्छेदन कर सकते हैं कि पूरा दृश्य कैसे किया जाता है? क्या यह दृश्य UITableView या UIScrollView के साथ किया गया है?

उत्तर

11

संपर्क विवरण स्क्रीन वास्तव में नकल करने के लिए काफी सरल है।

एक UITableView के साथ प्रारंभ करें और इसे UITableViewDataSource और UITableViewDelegate प्रदान करें। आपको उन सभी डेटा के लिए अनुभाग प्रदान करने की आवश्यकता होगी जिन्हें आप प्रस्तुत करना चाहते हैं। इसका मतलब है कस्टम हेडर के लिए 1, कस्टम पाद लेख (बटन/क्रियाएं) के लिए 1, और डेटा के लिए लगभग 6 या तो अनुभाग (फ़ोन नंबरों के लिए एक अनुभाग, ई-मेल पते के लिए दूसरा, और इसी तरह)

प्रत्येक खंड के अंदर, यह इंगित करने के लिए कि आपके सेक्शन के लिए कितना डेटा है, आपके डेटासोर्स से कई पंक्तियां प्रदान की जानी चाहिए। प्रत्येक पंक्ति के लिए, वास्तविक संपर्क डेटा (फ़ैक्स लेबल/फ़ैक्स संख्या मान, आदि) प्रदर्शित करने के लिए UITableViewCell का उपयोग किया जा सकता है। यदि आप चाहें तो आप फैंसी प्राप्त कर सकते हैं, लेकिन इसकी आवश्यकता नहीं लगती है। रिंगटोन जैसी चीजों के लिए आपको एक प्रकटीकरण सूचक निर्दिष्ट करना होगा।

शीर्षलेख के लिए आपको एक यूआईएममेज व्यू और यूलाबेल की आवश्यकता होगी, फूटर के लिए आपको कुछ UIButtons की आवश्यकता होगी। आप इंटरफ़ेसबिल्डर में UITableViewCell का एक बच्चा इसके अंदर इन विचारों के साथ बना सकते हैं और इसे किसी अन्य चीज़ की तरह तार सकते हैं। आप अन्य xibs से दृश्य लोड करने के लिए NSBundle का उपयोग कर सकते हैं जो पहले से लोड नहीं हैं।

कोई विकल्प बिना किसी xibs के रनटाइम पर UI विजेट्स को गतिशील रूप से उत्पन्न करना है। यह सब उस पर निर्भर करता है जिसे आप प्रबंधित करेंगे (कोड या xibs), मेरे लिए यह किसी भी तरह की कोशिश के बारे में लगता है। यदि आप पहले से नहीं हैं तो मैं table view programming guide के माध्यम से पढ़ने की अत्यधिक अनुशंसा करता हूं।

0

आप इसका पता लगाने के लिए F-Script का उपयोग कर सकते हैं। पता पुस्तिका ब्राउज़ करते समय एफ-स्क्रिप्ट ब्राउज़र से screenshot यहां दिया गया है। असल में, यह बहुत सारे कस्टम विचारों की तरह दिखता है जो सभी एनएसवी व्यू से प्राप्त होते हैं।

इस खुद करने के लिए:

  1. ऊपर के लिंक से
  2. डाउनलोड एफ स्क्रिप्ट निर्देश एक्स्ट्रा कलाकार में का पालन करें/एफ स्क्रिप्ट कहीं भी पता करने के लिए बुक संलग्न के लिए निर्देशिका
  3. चुनें एफ स्क्रिप्ट -> पता पुस्तिका मेनू से ओपन ऑब्जेक्ट ब्राउज़र
  4. देखें
  5. पता पुस्तिका देखें हाइलाइट करें जिसे आप एक्सप्लोर करना चाहते हैं और उसे क्लिक करना चाहते हैं।
  6. अपने दिल की सामग्री के आसपास नेविगेट करें।
+0

क्या एफ-स्क्रिप्ट आईफोन ऐप्स के लिए काम करेगा? – Boon

+0

एचआरएम। हालांकि मोबाइल एड्रेसबुक का आईफोन सिम्युलेटर संस्करण एक गतिशील निष्पादन योग्य है, जीडीबी में एफस्क्रिप्ट बंडल लोड करना प्रतीत नहीं होता है। – nall

1

मेरे कार्यान्वयन "हटाएँ" समकक्ष के लिए ("फोटो जोड़ें" और संपादित नाम समकक्षों के लिए) कस्टम हेडर के साथ एक UITableView का उपयोग करता है और एक कस्टम पाद लेख (UISegmentedControl का उपयोग कर एक बड़े बटन के लिए हैक)।

3

या आप एप्पल के स्वयं के ABPersonViewController इस्तेमाल कर सकते हैं:

allowsEditing संपत्ति को निर्दिष्ट उपयोगकर्ता व्यक्ति की जानकारी संपादित कर सकते हैं।

0

बस आप रास्ता दिखाने के लिए, आप संपादन मोड संपर्क के लिए इसी तरह लागू करने के लिए में उस उद्देश्य के लिए UITableViewController subclass कर सकते हैं और फिर आप जिस एप्लिकेशन होगा:

  1. के लिए एक संदर्भ स्टोर करने के लिए एक संपत्ति जोड़ें रद्द करें बटन

    var cancelButton: UIBarButtonItem! 
    
  2. viewDidLoad में(), एक सही आइटम के रूप में नेविगेशन पट्टी करने के लिए संपादित करें बटन जोड़ सकते हैं और बटन रद्द करें बाद में एक छोड़ दिया आइटम के रूप में जोड़ने के लिए तैयार करते हैं।

    self.navigationItem.rightBarButtonItem = self.editButtonItem() 
    self.cancelButton = UIBarButtonItem(title: "Cancel", style: .Plain, target: self, action: "cancelPressed:") 
    
  3. अवहेलना setEditing (_: एनिमेटेड :) विधि/संपादित करें/पूर्वावलोकन मोड और शो के लिए अपने सेल की स्थापना को छिपाने के एक रद्द करें बटन नेविगेशन पट्टी पर, संपादन ध्वज के आधार पर करने के लिए।

    override func setEditing(editing: Bool, animated: Bool) { 
        super.setEditing(editing, animated: true) 
    
        if editing { 
         // Set up cells and prepare for Edit mode here 
         self.navigationItem.setLeftBarButtonItem(self.cancelButton, animated: true) 
        } else { 
         // Set up cells and prepare for Preview mode here 
         self.navigationItem.setLeftBarButtonItem(nil, animated: true) 
        } 
    } 
    
  4. अवहेलना UITableViewDelegate के tableView (_: editingStyleForRowAtIndexPath :) और tableView (_: जब संपादन मोड में shouldIndentWhileEditingRowAtIndexPath :) तरीकों पंक्ति शैलियों और खरोज कॉन्फ़िगर करने के लिए।

  5. रद्द करें दबाए जाने पर संपादन मोड से बाहर निकलने के लिए रद्द की गई विधि लागू करें।

    func cancelPressed(button: UIBarButtonItem) { 
        self.setEditing(false, animated: true) 
    } 
    

मैं सवाल पता सुंदर पुराना है, लेकिन किसी को यह सहायक हो सकते हैं।

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