Встречается проблема типа, пытающаяся установить UILabel в элемент UISegmentedControl - PullRequest
1 голос
/ 18 января 2020

У меня есть UILabel, который является обобщенным c, и я передам в него данные с другого контроллера. Я хочу, чтобы метка была текстом для UISegmentedControl, однако я получаю сообщение об ошибке, что «член экземпляра« lessonLabel »не может использоваться для типа LearnTopicHeaderView (Мой класс, который является UICollectionReusableView).

import UIKit

class LearnTopicHeaderView: UICollectionReusableView {

let lessonLabel = UILabel(text: "X Lessons", font: .systemFont(ofSize: 14))

let segmentedControl: UISegmentedControl = {
    let sc = UISegmentedControl(items: ["Overview", lessonLabel, "Apply"]) // Here is the error.
    sc.selectedSegmentIndex = 0
    sc.layer.cornerRadius = 27
    sc.addTarget(self, action: #selector(selectedIndex), for: .valueChanged)
    return sc
}()

}

Я не уверен, как это исправить.

1 Ответ

0 голосов
/ 18 января 2020

items, которые передаются инициализатору UISegmentedControl , могут быть строками или UIImage экземплярами. Вы не можете передать UILabel экземпляр.

...