Проект представляет собой реализацию интерфейса чата с использованием кода.
В проекте используется Masonry в сочетании с UITableView-FDTemplateLayoutCell.
Для контроля над положением метки сообщения и фонового пузыря сообщений применяется свойство Content Hugging у label.
При использовании автоматической компоновки полезно применять intrinsicContentSize для связанных элементов управления.
Hugging priority определяет, насколько сильно представление препятствует своему увеличению.
Compression Resistance priority определяет, насколько сильно представление препятствует уменьшению своего размера.
Чтобы понять это, можно закомментировать следующие две строки кода:
Необходимо установить наивысший приоритет для HuggingPriority детализированной метки (detailLabel), иначе могут возникнуть проблемы при повторном использовании ячейки.
[_detailLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
[_bubbleView setContentHuggingPriority:UILayoutPriorityDefaultLow forAxis:UILayoutConstraintAxisHorizontal];
Синхронизация
//MARK: ===== Использование асинхронных параллельных потоков может привести к тому, что несколько потоков будут одновременно обращаться к объекту dataArray. Для обеспечения безопасности потоков используется @synchronized.
Каждый объект, вызывающий synchronized, получает рекурсивный мьютекс от Objective-C runtime и сохраняется в хэш-таблице.
@synchronized (self) { [self.dataArray addObject:model]; NSLog(@"%@", @"==========="); }
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )