Выбранное состояние текста в сегментированном элементе управления в XCode

Я работаю над своим первым приложением, используя Swift и Xcode.

В одном из моих представлений у меня есть сегментированный элемент управления, в котором в качестве отображаемого текста используются смайлики. Однако у меня есть проблема, когда всякий раз, когда выбран один из смайликов, он становится затемненным, как показано на рисунке ниже:

segmentedControl

Я думаю, что проблема связана с текстовыми атрибутами выбранного состояния моего сегментированного элемента управления, и моя попытка исправления состояла в том, чтобы установить текстовые атрибуты выбранного состояния такими же, как текстовые атрибуты нормального состояния

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

Однако это не похоже на работу. Любая помощь будет оценена?

7 голосов | спросил user5739562 5 Jam1000000amTue, 05 Jan 2016 05:11:19 +030016 2016, 05:11:19

1 ответ


0

Вы можете установить 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)
}

Уступая:

 сегментированное управление с помощью смайликов

ответил Rob 5 Jam1000000amTue, 05 Jan 2016 07:48:29 +030016 2016, 07:48:29

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132