Как сделать Tag/Label/Text View?
Я хочу сделать что-то вроде этого представления (я даже не знаю, как его назвать), но я не знаю, с чего начать, чтобы сделать это наиболее эффективным (с наименьшим количеством кода) способом.
Я хочу сделать этот тег / ярлык / текст с той же функциональностью, что и Apple Mail. У Facebook Messenger есть почти то же самое. Есть ли какой-нибудь официальный высокоуровневый публичный API для этого? Где лучше всего начать? TextKit? UITextInput? Можете ли вы дать мне хотя бы абстрактный алгоритм или указать на какое-нибудь вдохновляющее место?
4 ответа
Вы можете сделать это, если текст будет UILable:
Добавьте каркас QuartsCore в свой проект.
В верхней части файла.m вашего View Controller поместите:
#import <QuartzCore/QuartzCore.h>
Добавьте этот код в метод viewDidLoad:
self.myLabel.layer.backgroundColor = [UIColor blueColor].cgColor; //set the background color self.myLabel.layer.cornerRadius = 10 //set the corner radius
Вы должны нарисовать текст самостоятельно. Вот пример, аналогичный тому, что вы ищете.
Вместо использования структуры дополнения я рекомендую UICollectionView для реализации тегов. Это меньше кода, меньше накладных расходов и прост в реализации.
Перейдите по этой ссылке для реализации:
https://codentrick.com/create-a-tag-flow-layout-with-uicollectionview/
Вот как это выглядит. Обратите внимание, что он тоже гибкий, вы можете интегрировать в соответствии с вашей логикой.
Надеюсь, что это поможет вам