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

产量:

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...