2012-01-06 20 views
26

के बाईं तरफ चेकमार्क डालें, मैं वाईफाई सेटिंग्स पृष्ठ के समान कुछ बनाना चाहता हूं: जब आप टेबल सेल टैप करते हैं, तो सेल के बाईं ओर एक चेकबॉक्स डालें, और एक प्रकटीकरण बटन एक्सेसरी दृश्य देखें अधिक जानकारी दिखाने का अधिकार।UITableViewCell

मेरा प्रश्न: क्या एक कस्टम UITableViewCell के निर्माण के बिना UITableViewCell के बाईं तरफ चेकमार्क डालने का कोई तरीका है?

+1

इस ✓ कॉपी कर सकते हैं। – EmptyStack

उत्तर

120

उत्तर हाँ है! इसके लिए आपको कस्टम सेल बनाने या छवि दृश्य जोड़ने की आवश्यकता नहीं है। चेकबॉक्स को अनुकरण करने के लिए आपको केवल सेल टेक्स्ट में चेकबॉक्स स्थिति के लिए एक यूनिकोड प्रतीक प्रीपेड करना होगा।

यूनिकोड प्रतीकों मैं चेक बॉक्स के लिए उपयोग कर रहा हूँ अनियंत्रित के लिए जाँच के लिए \u2705 और \u2B1C (iOS 5 पर \U0001F533 के रूप में लगभग एक ही हैं)। आईओएस कई unicode symbols as icons प्रस्तुत करता है। (UITableViewCellStyleValue1 साथ)

enter image description here

@"\u2611", @"\u2B1C", @"\u2705", @"\u26AB", @"\u26AA", @"\u2714", @"\U0001F44D", @"\U0001F44E" 

Wi-Fi सेटिंग पेज नकल:

यहाँ कुछ अन्य प्रतीक हैं

enter image description here

cell.textLabel.text = @"\u2001 Wi-Fi 1"; 
cell.detailTextLabel.text = @"\U0001F512 \u268A"; 

cell.textLabel.text = @"\u2001 Wi-Fi 2"; 
cell.detailTextLabel.text = @"\U0001F512 \u268C"; 

cell.textLabel.text = @"\u2713 Wi-Fi 3"; 
cell.detailTextLabel.text = @"\U0001F513 \u2630"; 
+0

पर है, मैं पहली पोस्ट देख रहा हूं जहां एक सही उत्तर है और बाकी के पास कम वोट हैं ... –

+1

वैसे, स्विफ्ट में, आपको यूनिकोड वर्णों के लिए ब्रेसिज़ का उपयोग करने की आवश्यकता है: "\ आप {2713} " –

+0

चयन परिवर्तन के बारे में क्या है और मेरे पास डेटास्रोत है? चयन को जोड़ने और रद्द करने के लिए चयन के लिए मुझे हर बार डेटास्रोत पढ़ने की ज़रूरत है? मैं detailtextlabel का उपयोग नहीं कर सकता क्योंकि मैं एक और जानकारी दिखाने के लिए उपयोग कर रहा हूं .. –

-2

नहीं। इसके लिए आपको एक कस्टम सेल बनाना होगा।

+2

कस्टम सेल के बिना यह संभव है। –

-4

आपको UITableViewCell reference and Table View Guide पर देखना चाहिए। editingAccessoryType संपत्ति UITableViewCellAccessoryCheckmark पर सेट की गई मानक सेल शैली का उपयोग करें।

+1

आप कस्टम दृश्य –

+6

का भी उपयोग कर सकते हैं प्रलेखन के अनुसार: UITableViewCellAccessoryCheckmark सेल के दाईं ओर एक चेक मार्क है। सवाल यह है कि यह बाईं तरफ – akshay1188

6

बेशक आपको लगता है कि :) उदाहरण के लिए UITableViewCellStyle

UITableViewCellStyleDefault, 
// Simple cell with text label and optional image view 
//(behavior of UITableViewCell in iPhoneOS 2.x) 

का उपयोग कर सकते हैं ... और कहा कि "वैकल्पिक छवि दृश्य" में एक कस्टम "चेकमार्क" छवि डाल दिया।

0

तो यहां ऐसा करने का एक तरीका है। सेल के बाएं किनारे पर UIImageView रखें। एक छवि सेट न करें ताकि यह शुरुआत के रूप में खाली हो।

import UIKit 

class MyCustoTableViewCell: UITableViewCell { 

    @IBOutlet weak var commandOption: UILabel! 
    @IBOutlet weak var checkMarkImage: UIImageView! 

    // Sets a left side checkmark on a cell when selected 
    override func setSelected(selected: Bool, animated: Bool) { 
     super.setSelected(selected, animated: animated) 
     self.checkMarkImage.image = selected ? UIImage(named: "BlueCheck") : .None 
     self.commandOption.font = selected ? UIFont(name: "Avenir-Heavy", size: 22) : UIFont(name: "Avenir-Book", size: 22) 

     // more check mark on the right side 
     // self.accessoryType = selected ? .Checkmark : .None 
    } 
} 

नोट नीचे से बाहर टिप्पणी की है, तो आप सही पर सही का निशान चाहते हैं:

फिर, यह सोचते हैं आप एक कस्टम सेल और उस UITableViewCell के लिए एक वर्ग के कर रहे हैं, कुछ इस तरह से करते हैं। Super.setSelecdted विधि आग लगती है जब उपयोगकर्ता ने टेबल सेल पर टैप किया है। सुनिश्चित करें कि आप यह भी लागू किए गए हों रहें:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
     // do any changes needed here or leave blank if just adding check 
    } 
} 

अंत में, सुनिश्चित करें कि आप है @ 2x और @ अपने आस्तियों फ़ोल्डर में 3x जाँच चिह्न PNG का संपत्ति हैं। ध्यान दें कि इस उदाहरण में उन्हें "ब्लू चेक" कहा जाता है लेकिन आपके चेक मार्क संपत्तियों को कभी भी कॉल करने के लिए उपयोग करें।

यह दृष्टिकोण सुनिश्चित करता है कि जब कोई उपयोगकर्ता एक नई पंक्ति का चयन करता है तो चेक सेल वर्तमान सेल पर चला जाता है।

इस मामले में मैं छवि दृश्य के दाईं ओर स्थित पाठ को बोल्ड कर रहा हूं ताकि यह इंगित किया जा सके कि यह चयनित पंक्ति थी।

0

स्विफ्ट में आप कमान + Ctrl + स्पेस बार दबाएँ इमोटिकॉन्स और विशेष वर्णों को दिखाने के लिए कर सकते हैं या आप जवाब के लिए अपने सवाल है, "नहीं" ✔️