Добавьте жизнь вашим словам!!!
Позвольте вашим словам следовать произвольному пути!!!
С помощью XPQLabel вы можете легко создать различные эффекты отображения текста и анимацию с минимальным количеством кода.
Основной язык — смесь Objective-C и C++. Objective-C используется для базового отображения и управления, в то время как C++ отвечает за расчёт пути.
Использование XPQLabel очень простое, достаточно выполнить три шага.
Переместите папку XPQLabel вместе со всеми её файлами в проект. Включите заголовочный файл, используя #import "XPQLabel.h"
.
XPQLabel *label = [[XPQLabel alloc] init];
Просто перетяните UIView на storyboard или xib, установите свойство Class на XPQLabel, затем свяжите его с объектом.
label.font = [UIFont systemFontOfSize:18.0];
label.textColor = [UIColor blackColor];
label.text = @"Это обычная строка текста.";
Достаточно изменить свойства text и textColor на панели, как показано ниже:
#### Настройка атрибутированного текста
Атрибутированный текст можно настроить только через код
NSMutableAttributedString *attriString = [[NSMutableAttributedString alloc] initWithString:@"этот атрибутированный текст."];
// Изменение цвета шрифта слова "этот" на красный
[attriString addAttribute:(NSString *)kCTForegroundColorAttributeName
value:(id)[UIColor redColor].CGColor
range:NSMakeRange(0, 5)];
// Изменение цвета шрифта слова "атрибутированный" на зелёный
[attriString addAttribute:(NSString *)kCTForegroundColorAttributeName
value:(id)[UIColor greenColor].CGColor
range:NSMakeRange(6, 15)];
// Изменение шрифта слова "текст"
[attriString addAttribute:(NSString *)kCTFontAttributeName value:(id)CFBridgingRelease(CTFontCreateWithName((CFStringRef)[UIFont boldSystemFontOfSize:12].fontName, 20, NULL)) range:NSMakeRange(22, 4)];
// Добавление подчёркивания слову "текст"
[attriString addAttribute:(NSString *)kCTUnderlineStyleAttributeName
value:(id)[NSNumber numberWithInt:kCTUnderlineStyleDouble]
range:NSMakeRange(22, 4)];
```label.attributedText = attriString;
```## Установка атрибутов
Конечно, после выполнения трёх шагов можно лишь просто отобразить текст. Для достижения дополнительных эффектов потребуется установка некоторых атрибутов.
### Выравнивание текста
Для выравнивания текста используются два свойства — `textHorizontalAlignment` и `textVerticalAlignment`. Из названий этих свойств можно понять их назначение. Эти свойства соответствуют следующим двум перечислителям:
```ios
typedef enum : NSUInteger {
XPQLabelHorizontalAlignmentLeft, // Левое выравнивание
XPQLabelHorizontalAlignmentCenter, // Горизонтальное центрирование
XPQLabelHorizontalAlignmentRight, // Правое выравнивание
} XPQLabelHorizontalAlignment;
typedef enum : NSUInteger {
XPQLabelVerticalAlignmentUp, // Вертикальное верхнее центрирование
XPQLabelVerticalAlignmentCenter, // Вертикальное центрирование
XPQLabelVerticalAlignmentDown, // Вертикальное нижнее центрирование
} XPQLabelVerticalAlignment;
Пример использования приведён ниже:
Установка этого свойства позволяет тексту отображаться вдоль указанного пути.
Путь представляет собой объект типа XPQLabelPath
, который также легко использовать.
Сначала используйте метод pathForBeginPoint
класса XPQLabelPath
для создания начальной точки пути.
XPQLabelPath *path = [XPQLabelPath pathForBeginPoint:CGPointMake(10. Yö, 10.0)];
Затем используйте методы addLineToPoint:
/ addArcWithCentrePoint:angle:
/ addCurveToPoint:anchorPoint:
для добавления различных сегментов пути.
// Добавление линии
[path addLineToPoint:CGPointMake(250.0, 50.0)];
// Добавление окружности
[path addArcWithCenterPoint:CGPointMake(90.0, 70.0) angle:-M_PI];
// Добавление кривой Безье
[path addCurveToPoint:CGPointMake(300.0, 60.0) controlPoint:CGPointMake(100.0, 0.0)];
```
Наконец, присвойте путь свойству `path` или используйте метод `setPath:rotate:animation:`.
```ios
// С ротацией и анимацией
label.path = path;
// Ротация и анимация могут быть выбраны
[label setPath:path rotate:rotate animation:animation];
```
Пример использования приведён ниже:

### Траектория жеста
Это очень крутое и интересное действие (хотя оно может быть мало применимым).
Установите свойство `gesturePathEnabled` равным `YES`, чтобы текст отображался по траектории движения вашего пальца по экрану. Пример использования приведён ниже:

### Входящие и исходящие анимации
На данный момент реализовано две входящие и две исходящие анимации. Функции для вызова этих анимаций представлены ниже:
```objc
[startShowWithDirection:duration:bounce:stepTime:]
[startHideWithDirection:duration:stepTime:]
```

```objc
startFixedShowWithTransform: duration:stepTime:
startFixedHideWithTransform:duration:stepTime:
```

> **ПРИМЕЧАНИЕ:** Если вам понравилось, пожалуйста, оцените проект звездой, спасибо.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )