У меня есть переменная имени пользователя и строка сообщения, такая как «понравилась ваша запись», и чтобы иметь возможность отображать ее как одну строку, я объединил их в NSMutableAttributedString. Как это будет легко, яГиперссылка + кнопка, подобная кнопке на NSAttributedString
let username = notification["username"].string
let notificationBody = notification["body"].string
let notificationString = NSMutableAttributedString(string: "\(username!) \(notificationBody!)")
notificationString.addAttributes([NSForegroundColorAttributeName: UIColor.blackColor()], range: NSMakeRange(0, (username?.characters.count)!))
cell.notificationLabel.attributedText = notificationString
Окрашивание текст работает так, как и следовало ожидать, однако, я хочу, чтобы иметь возможность нажать на имя пользователя и в то же время достижения цветовой эффект щелчка (например, нажмите кнопку). Вот что я имею в виду:
по щелчку: и непосредственно перейти к другому VC.
Я на самом деле достиг того, чего хочу достичь с помощью примитивного взлома, который мне абсолютно не нравится. Я сделал это, сначала добавил дополнительную кнопку над именем пользователя и установил фоновый цвет: чистый цвет. И визуально кажется приятным, если ширина имени пользователя по совпадению совпадает с шириной кнопки в ячейке Storyboard. В противном случае это кажется ошибкой.
Extra Button слой над «имя пользователя» текста:
Каков практический способ достижения того, что я хочу достичь? Должен ли я просто изменить ширину прозрачной кнопки для каждой ячейки, в соответствии с количеством символов имени пользователя? Так что если для 4-6 слов, ширина x; если 8-10 слов, у ширина?
Есть ли лучшие способы, чем это?
И добавить ограничение между именем пользователя и меткой? Есть ли способ добавить эту кнопку/щелчок в функцию NSAttributedText? – senty
Да. С вашего изображения я не мог сказать, используете ли вы автозапуск. –
Нет, я нет. Я просто перетащил его на имя пользователя – senty