Xcode中分段控件中文本的选定状态

我正在使用Swift和Xcode处理我的第一个应用程序。

在我的一个观点中,我有一个分段控件,其中有表情符号作为正在显示的文本。 不过,如果选择了其中一个表情符号,则会出现问题,如下图所示,它会变黑:

segmentedControl

我认为这个问题与我的分段控件的选定状态的文本属性有关,我尝试修复的方式是将所选状态的文本属性设置为与正常状态的文本属性相同:

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

但是,这似乎并不奏效。 任何帮助,将不胜感激?


您可以将NSAttributedStringKey.foregroundColor (以前称为NSForegroundColorAttributeName )设置为任何颜色,并防止该行为。 例如,在Swift 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)
}

产量:

用emojis分割控制

链接地址: http://www.djcxy.com/p/89523.html

上一篇: Selected state of text in a segmented control in Xcode

下一篇: Jersey unable to catch any Jackson Exception