2016-01-05 7 views
7

में सेगमेंट नियंत्रण में टेक्स्ट की चयनित स्थिति स्विफ्ट और एक्सकोड का उपयोग करके मैं अपने पहले एप्लिकेशन पर काम कर रहा हूं।एक्सकोड

मेरे विचारों में से एक में, मेरे पास एक सेगमेंट नियंत्रण है जिसमें टेक्स्ट प्रदर्शित होने के साथ इमोटिकॉन्स हैं। हालांकि, मैं एक समस्या है जहाँ जब भी इमोटिकॉन में से एक का चयन किया जाता है, यह ब्लैक आउट कर हो जाता है के रूप में नीचे छवि में दिखाया गया है:

segmentedControl

मैं इस समस्या चयनित राज्य के पाठ विशेषताओं के साथ क्या करना है लगता है मेरी हिस्सों में बंटा हुआ नियंत्रण, और एक ठीक पर मेरे प्रयास के चयनित राज्य के पाठ विशेषताएं सेट किया गया था सामान्य स्थिति के पाठ विशेषताओं के रूप में कर दें:

override func viewDidAppear(animated: Bool) { 
    moodSelector.setTitleTextAttributes(moodSelector.titleTextAttributesForState(.Normal), forState: .Selected) 
} 

बहरहाल, यह काम करने के लिए प्रतीत नहीं होता। किसी भी सहायता की सराहना की जाएगी?

उत्तर

4

आप NSAttributedStringKey.foregroundColor (पूर्व में NSForegroundColorAttributeName के रूप में जाना जाता है) किसी भी रंग में सेट कर सकते हैं और यह उस व्यवहार को रोकता है। उदाहरण के लिए, स्विफ्ट 3 या 4 में:

override func viewDidLoad() { 
    super.viewDidLoad()   // whether `viewDidLoad` or `viewDidAppear`, make sure to call the appropriate `super` method, too 

    let attributes = [NSAttributedStringKey.foregroundColor : UIColor.white] 
    moodSelector.setTitleTextAttributes(attributes, for: .selected) 
} 

पैदावार:

segmented control with emojis

+0

बहुत बहुत शुक्रिया, कि पूरी तरह से काम करता है – user5739562