2016-01-05 10 views
7

私はSwiftとXcodeを使用して私の最初のアプリケーションに取り組んでいます。Xcodeのセグメント化されたコントロールのテキストの選択状態

私の意見の1つに、テキストとして表示される絵文字を持つセグメント化されたコントロールがあります。しかし、私は顔文字のいずれかが選択されるたびに下の画像に示すように、それはブラックアウトになるという問題があります。

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

関連する問題