ios – 在Xcode中的分段控件中选择的文本状态

我正在使用 Swift和Xcode开发我的第一个应用程序.

在我的一个视图中,我有一个分段控件,其中包含表情符号作为显示的文本.但是,我有一个问题,即无论何时选择其中一个表情符号,它都会变黑,如下图所示:

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

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)
}

产量:

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...