Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка Платформы UIKit Ссылка класса NSTextStorage для iOS

Опции
Развертывание Target:

На этой странице
Язык:

NSTextStorage

Оператор импорта


Swift

import UIKit

Objective C

@import UIKit;

Доступность


Доступный в iOS 7.0 и позже.

NSTextStorage полуконкретный подкласс NSMutableAttributedString это управляет рядом клиента NSLayoutManager объекты, уведомляя их относительно любых изменений в его символах или атрибутах так, чтобы они могли передать и восстановить изображение текста по мере необходимости. NSTextStorage определяет фундаментальный механизм хранения расширенной текстовой системы обработки Набора текста.

NSTextStorage, NLayoutManager, и NSTextContainer может быть получен доступ от подпотоков, пока приложение гарантирует доступ от единственного потока.

Разделение на подклассы примечаний

NSTextStorage управление изменениями реализаций (через beginEditing и endEditing), проверка атрибутов, делегат, обрабатывающий и уведомление управления расположением. Один аспект, который это не реализует, управляет фактическим приписанным строковым хранением — это оставляют до подклассов, которые должны переопределить два NSAttributedString примитивы:

- (NSString *) строка;

- (NSDictionary *) attributesAtIndex: (NSUInteger) расположение effectiveRange: (NSRangePointer) диапазон;

И подклассы должны переопределить два NSMutableAttributedString примитивы:

- (недействительный) replaceCharactersInRange: (NSRange) располагаются withString: (NSString *) str;

- (недействительный) setAttributes: (NSDictionary *) attrs диапазон: (NSRange) диапазон;

Эти примитивы должны выполнить изменение, затем вызвать edited:range:changeInLength: заставить все остальное происходить.

  • delegate Свойство

    Текстовый делегат хранения.

    Объявление

    Swift

    unowned(unsafe) var delegate: NSTextStorageDelegate?

    Objective C

    @property(assign, nonatomic) id< NSTextStorageDelegate > delegate

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • editedMask Свойство

    Виды редактирований, ожидающих для получателя.

    Объявление

    Swift

    var editedMask: NSTextStorageEditActions

    Objective C

    @property(nonatomic) NSTextStorageEditActions editedMask

    Обсуждение

    Указывает незаконченные изменения для атрибутов, символов или обоих. Используйте C поразрядная операция И для тестирования использования маски NSTextStorageEditedAttributes и NSTextStorageEditedCharacters (тестирующий на равенство перестанет работать, если дополнительные флаги маски будут добавлены позже). Делегат получателя и менеджеры по расположению могут использовать эту информацию для определения природы редактирований в их соответствующих методах уведомления.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • changeInLength Свойство

    Дельта длины для незаконченных изменений.

    Объявление

    Swift

    var changeInLength: Int

    Objective C

    @property(nonatomic) NSInteger changeInLength

    Обсуждение

    Это свойство предоставляет информацию о текущем состоянии редактирования, которое может быть особенно полезным, когда там являются выдающимися beginEditing вызовы или во время processEditing.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • editedRange Свойство

    Диапазон получателя, в который незаконченные изменения были внесены, ли из символов или атрибутов.

    Объявление

    Swift

    var editedRange: NSRange

    Objective C

    @property(nonatomic) NSRange editedRange

    Обсуждение

    Делегат получателя и менеджеры по расположению могут использовать эту информацию для определения природы редактирований в их соответствующих методах уведомления.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Уведомляет и записывает недавнее изменение.

    Объявление

    Swift

    func edited(_ editedMask: NSTextStorageEditActions, range editedRange: NSRange, changeInLength delta: Int)

    Objective C

    - (void)edited:(NSTextStorageEditActions)editedMask range:(NSRange)editedRange changeInLength:(NSInteger)delta

    Параметры

    editedMask

    Действие редактирования выполняется.

    editedRange

    Диапазон в исходной строке (перед редактированием).

    delta

    Дельта длины для изменений редактирования.

    Обсуждение

    Если там являются не выдающимися beginEditing вызовы, это вызовы метода processEditing инициировать процессы постредактирования. Этот метод должны вызвать примитивы после того, как изменения будут внесены, если разделено на подклассы и переопределено.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Гарантирует, что атрибуты фиксируются в данном диапазоне.

    Объявление

    Swift

    func ensureAttributesAreFixedInRange(_ range: NSRange)

    Objective C

    - (void)ensureAttributesAreFixedInRange:(NSRange)range

    Параметры

    range

    Диапазон символов, атрибуты которых могли бы быть исследованы.

    Обсуждение

    NSTextStorage объект с помощью ленивой фиксации атрибута требуется, чтобы вызывать этот метод прежде, чем получить доступ к любым атрибутам в range. Этот метод дает атрибут, фиксирующий шанс произойти при необходимости. NSTextStorage подклассы, желающие поддерживать лень, должны вызвать этот метод от всех средств доступа атрибута, которые они реализуют.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • fixesAttributesLazily Свойство

    Указывает, фиксирует ли получатель атрибуты лениво. (только для чтения)

    Объявление

    Swift

    var fixesAttributesLazily: Bool { get }

    Objective C

    @property(readonly, nonatomic) BOOL fixesAttributesLazily

    Обсуждение

    По умолчанию, пользовательский NSTextStorage подклассы не ленивы, но предоставленный конкретный подкласс ленив по умолчанию.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Лишает законной силы атрибуты в указанном диапазоне.

    Объявление

    Swift

    func invalidateAttributesInRange(_ range: NSRange)

    Objective C

    - (void)invalidateAttributesInRange:(NSRange)range

    Параметры

    range

    Диапазон символов, атрибуты которых должны быть лишены законной силы.

    Обсуждение

    Вызванный от processEditing лишить законной силы атрибуты когда текстовые изменения среды хранения. Если получатель не ленив, этот метод просто вызывает fixAttributesInRange:. Если ленивая фиксация атрибута имеет силу, этот метод вместо этого записывает фиксацию необходимости диапазона.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Триггерные операции постредактирования.

    Объявление

    Swift

    func processEditing()

    Objective C

    - (void)processEditing

    Обсуждение

    Отсылает сообщение делегата textStorage:WillProcessEditing:range:changeInLength:, фиксирует атрибуты, отсылает textStorage:didProcessEditing:range:changeInLength:, и уведомляет менеджеров по расположению изменения с processEditingForTextStorage:edited:range:changeInLength:invalidatedRange: метод. Вызванный от edited:range:changeInLength: или endEditing.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Добавляет менеджер по расположению к получателю.

    Объявление

    Swift

    func addLayoutManager(_ aLayoutManager: NSLayoutManager)

    Objective C

    - (void)addLayoutManager:(NSLayoutManager *)aLayoutManager

    Параметры

    aLayoutManager

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

    Обсуждение

    Этот метод отправляет setTextStorage: к aLayoutManager с получателем.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Удаляет менеджера по расположению из группы получателя менеджеров по расположению.

    Объявление

    Swift

    func removeLayoutManager(_ aLayoutManager: NSLayoutManager)

    Objective C

    - (void)removeLayoutManager:(NSLayoutManager *)aLayoutManager

    Параметры

    aLayoutManager

    Менеджер по расположению для удаления.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • layoutManagers Свойство

    Менеджеры по расположению получателя. (только для чтения)

    Объявление

    Swift

    var layoutManagers: [AnyObject] { get }

    Objective C

    @property(readonly, nonatomic) NSArray *layoutManagers

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Эти константы используются в edited:range:changeInLength:.

    Объявление

    Swift

    struct NSTextStorageEditActions : RawOptionSetType { init(_ rawValue: UInt) init(rawValue rawValue: UInt) static var EditedAttributes: NSTextStorageEditActions { get } static var EditedCharacters: NSTextStorageEditActions { get } }

    Objective C

    typedef enum : NSUInteger { NSTextStorageEditedAttributes = (1 << 0), NSTextStorageEditedCharacters = (1 << 1) } NSTextStorageEditActions;

    Константы

    • EditedAttributes

      NSTextStorageEditedAttributes

      Атрибуты были добавлены, удалены или изменены.

      Доступный в iOS 7.0 и позже.

    • EditedCharacters

      NSTextStorageEditedCharacters

      Символы были добавлены, удалены или заменены.

      Доступный в iOS 7.0 и позже.

    Обсуждение

    Этими значениями является также OR'ed вместе в уведомлениях для информирования экземпляров NSLayoutManager из редактирования изменений. Посмотрите textStorage:edited:range:changeInLength:invalidatedRange:.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Отправленный после того, как текстовое хранение заканчивает обрабатывать редактирования в processEditing.

    Наблюдатели кроме делегата не должны вносить дальнейшие изменения в текстовое хранение. Объект уведомления является текстовым объектом хранения, обработавшим редактирования. Это уведомление не содержит a userInfo словарь.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Отправленный, прежде чем текстовое хранение заканчивает обрабатывать редактирования в processEditing.

    Наблюдатели кроме делегата не должны вносить дальнейшие изменения в текстовое хранение. Объект уведомления является текстовым объектом хранения, собирающимся обработать редактирования. Это уведомление не содержит a userInfo словарь.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.