Как установить фон UILabel (не UITextView) с круглым углом с помощью NSMutableAttributedString?

Мне все равно нужно получить стиль кода в UITableView.

Просто сделать синий фон

var dynamicBackground = #colorLiteral(red: 0.02708261088, green: 0.4768417478, blue: 0.9985074401, alpha: 1)

Затем создайте NSMutableAttributedString в UITableView.

let attr = NSMutableAttributedString(string: "if ", attributes: [.foregroundColor: KeyboardSyntax])
             
  attr.append(NSAttributedString(string: " false condition ", attributes: [.backgroundColor: dynamicBackground])). // Any idea to make background to round corner?
            
  attr.append(NSAttributedString(string: " {\n ", attributes: [.foregroundColor: PlainSyntax]))
            
  attr.append(NSAttributedString(string: "// Not execute\n", attributes: [.foregroundColor: CommentSyntax]))
            
  attr.append(NSAttributedString(string: "} ", attributes: [.foregroundColor: PlainSyntax]))
            
  attr.append(NSAttributedString(string: "else ", attributes: [.foregroundColor: KeyboardSyntax]))
            
  attr.append(NSAttributedString(string: "{\n ", attributes: [.foregroundColor: PlainSyntax]))
            
  attr.append(NSAttributedString(string: "// Execute\n", attributes: [.foregroundColor: CommentSyntax]))
               
  attr.append(NSAttributedString(string: "} ", attributes: [.foregroundColor: PlainSyntax]))
            
  cell.textLabel?.attributedText = attr

затем отобразите результаты введите здесь описание изображения

Спасибо за вашу помощь. :)


person Antonio Adrian Chavez    schedule 07.03.2021    source источник
comment
Отвечает ли это на ваш вопрос? Цвет фона NSAttributedString и закругленные углы   -  person Larme    schedule 08.03.2021


Ответы (1)


Я думаю, вам нужно настроить NSLayoutManager, а затем добавить атрибуты к созданной вами NSAttributedString. цвет фона NSAttributedString и закругленные углы будут полезны.

person Jaekyung You    schedule 08.03.2021
comment
Это версия Objective C. Я не могу понять этот шаг, чтобы шагнуть в этом ответе. - person Antonio Adrian Chavez; 09.03.2021
comment
@AntonioAdrianChavez Я не видел конкретного кода Objective-C, я видел шаг за шагом, и эти методы должны быть эквивалентны в Swift. Вы можете найти их и посмотреть, как это в Swift, переключив язык в документе, а другие в Swift, нет? - person Larme; 09.03.2021