NSTextContainer
NSTextContainer
класс определяет область, где размечается текст. NSLayoutManager
использование NSTextContainer
для определения, где повредить строки разметьте части текста и т.д. NSTextContainer
определяет прямоугольные области, но можно создать подклассы, определяющие области других форм, такие как круговые области, области с дырами в них или области тот поток рядом с графикой.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSObjectProtocol
-
NSTextLayoutOrientationProvider
-
Печатаемый
-
NSCoding
-
NSObject
-
NSTextLayoutOrientationProvider
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
-
Инициализирует текстовый контейнер с указанным ограничительным прямоугольником.
Объявление
Swift
init(containerSize
aSize
: NSSize)Objective C
- (instancetype)initWithContainerSize:(NSSize)
aSize
Параметры
aSize
Размер текстового ограничительного прямоугольника контейнера.
Возвращаемое значение
Недавно инициализированный текстовый контейнер.
Обсуждение
Новый текстовый контейнер должен быть добавлен к
NSLayoutManager
объект, прежде чем это сможет использоваться. Текстовый контейнер должен также иметьNSTextView
объектный набор для текста, который будет выведен на экран. Этот метод является определяемым инициализатором дляNSTextContainer
класс.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
– addTextContainer:
(NSLayoutManager)– setTextView:
-
Устанавливает менеджера по расположению получателя.
Объявление
Swift
unowned(unsafe) var layoutManager: NSLayoutManager?
Objective C
@property(assign) NSLayoutManager *layoutManager
Параметры
aLayoutManager
Новый менеджер по расположению.
Обсуждение
Когда Вы добавляете текстовый контейнер к менеджеру по расположению, этот метод вызывается автоматически; Вы никогда не должны должны быть вызывать его непосредственно, но могли бы хотеть переопределить его. Если Вы хотите заменить менеджера расположения установленной группы текстовых системных объектов, использовать
replaceLayoutManager:
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
– addTextContainer:
(NSLayoutManager)– layoutManager
-
Возвращает менеджера по расположению получателя.
Объявление
Swift
unowned(unsafe) var layoutManager: NSLayoutManager?
Objective C
@property(assign) NSLayoutManager *layoutManager
Возвращаемое значение
Текстовый менеджер по расположению контейнера.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Заменяет менеджера расположения группы текстовых системных объектов, содержащих получатель.
Объявление
Swift
func replaceLayoutManager(_
aLayoutManager
: NSLayoutManager?)Objective C
- (void)replaceLayoutManager:(NSLayoutManager *)
aLayoutManager
Параметры
aLayoutManager
Новый менеджер по расположению.
Обсуждение
Все текстовые контейнеры и текстовое совместное использование представлений менеджера по первоначальному макету совместно используют нового менеджера по расположению. Этот метод вносит все корректировки, необходимые для сохранения этих отношений в целости в отличие от этого
setLayoutManager:
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Устанавливает текстовое представление получателя.
Параметры
aTextView
Новое текстовое представление.
Обсуждение
Этот метод отправляет
setTextContainer:
кaTextView
завершать ассоциацию текстового контейнера и текстового представления.Поскольку Вы обычно указываете текстовый контейнер при создании текстового представления необходимо редко должны быть вызвать этот метод. Текстовый контейнер не нуждается в текстовом представлении для вычисления прямоугольников фрагмента строки, но должен иметь для отображения текста.
Можно использовать этот метод для разъединения текстового представления от группы текстовых системных объектов путем отправки этого сообщения в его текстовый контейнер и передачу
nil
какaTextView
.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
– initWithFrame:textContainer:
(NSTextView)– replaceTextContainer:
(NSTextView) -
Возвращает текстовое представление получателя.
Возвращаемое значение
Текстовое представление получателя, или
nil
если это не имеет ни одного.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Устанавливает размер ограничительного прямоугольника получателя.
Параметры
aSize
Новый размер текстового ограничительного прямоугольника контейнера.
Обсуждение
Этот метод также отправляет
textContainerChangedGeometry:
текстовому менеджеру по расположению контейнера.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
– setTextContainerInset:
(NSTextView)– containerSize
-
Возвращает размер ограничительного прямоугольника получателя, независимо от размера его области.
Возвращаемое значение
Размер ограничительного прямоугольника получателя, независимо от размера его области.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
– textContainerInset
(NSTextView)– setContainerSize:
-
Средства управления, корректирует ли получатель ширину своего ограничительного прямоугольника, когда изменено его текстовое представление.
Объявление
Swift
var widthTracksTextView: Bool
Objective C
@property BOOL widthTracksTextView
Параметры
flag
YES
true
если получатель должен следовать за изменениями в ширине его текстового представления,NO
false
иначе.Обсуждение
См. текстовый Системный Обзор Уровня хранения для получения дополнительной информации об отслеживании размера.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвраты, корректирует ли получатель ширину своего ограничительного прямоугольника, когда изменено его текстовое представление.
Объявление
Swift
var widthTracksTextView: Bool
Objective C
@property BOOL widthTracksTextView
Возвращаемое значение
YES
true
когда его текстовое представление изменено, если получатель корректирует ширину своего ограничительного прямоугольникаNO
false
иначе.Обсуждение
Если получатель действительно отслеживает текстовое представление width, его ширина корректируется к ширине текстового представления минус дважды ширина вставки (как дано
NSTextView
textContainerInset
метод).См. текстовый Системный Обзор Уровня хранения для получения дополнительной информации об отслеживании размера.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Средства управления, регулирует ли получатель высоту своего ограничительного прямоугольника, когда изменено его текстовое представление.
Объявление
Swift
var heightTracksTextView: Bool
Objective C
@property BOOL heightTracksTextView
Параметры
flag
YES
true
если получатель должен следовать за изменениями в высоте его текстового представления,NO
false
иначе.Обсуждение
См. текстовый Системный Обзор Уровня хранения для получения дополнительной информации об отслеживании размера.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвраты, регулирует ли получатель высоту своего ограничительного прямоугольника, когда изменено его текстовое представление.
Объявление
Swift
var heightTracksTextView: Bool
Objective C
@property BOOL heightTracksTextView
Возвращаемое значение
YES
true
когда его текстовое представление изменено, если получатель регулирует высоту своего ограничительного прямоугольникаNO
false
иначе.Обсуждение
Если получатель действительно отслеживает текстовую высоту представления, ее высота регулируется к высоте текстового представления минус дважды высота вставки (как дано
NSTextView
textContainerInset
метод).См. текстовый Системный Обзор Уровня хранения для получения дополнительной информации об отслеживании размера.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Устанавливает сумму, которой текст вставляется в прямоугольниках фрагмента строки.
Объявление
Swift
var lineFragmentPadding: CGFloat
Objective C
@property CGFloat lineFragmentPadding
Параметры
aFloat
Сумма, которой текст вставляется в прямоугольниках фрагмента строки в точках.
Обсуждение
Этот метод также отправляет
textContainerChangedGeometry:
текстовому менеджеру по расположению контейнера.Дополнение фрагмента строки не разработано к явно выраженным полям текста. Вместо этого используйте
NSTextView
методsetTextContainerInset:
, атрибуты поля абзаца или позиция текста просматривают в суперпредставлении.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает сумму, которой текст вставляется в прямоугольниках фрагмента строки.
Объявление
Swift
var lineFragmentPadding: CGFloat
Objective C
@property CGFloat lineFragmentPadding
Возвращаемое значение
Сумма, которой текст вставляется в прямоугольниках фрагмента строки в точках.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
lineFragmentRectForProposedRect (_: sweepDirection:movementDirection:remainingRect:) - lineFragmentRectForProposedRect:sweepDirection:movementDirection:remainingRect:
Переопределенный подклассами, чтобы вычислить и возвратить самый длинный прямоугольник, доступный в предложенном прямоугольнике для отображения текста, или
NSZeroRect
если нет ни одного согласно определению области получателя.Объявление
Swift
func lineFragmentRectForProposedRect(_
proposedRect
: NSRect, sweepDirectionsweepDirection
: NSLineSweepDirection, movementDirectionmovementDirection
: NSLineMovementDirection, remainingRectremainingRect
: NSRectPointer) -> NSRectObjective C
- (NSRect)lineFragmentRectForProposedRect:(NSRect)
proposedRect
sweepDirection:(NSLineSweepDirection)sweepDirection
movementDirection:(NSLineMovementDirection)movementDirection
remainingRect:(NSRectPointer)remainingRect
Параметры
proposedRect
Предложенный прямоугольник тот, в который к тексту расположения.
sweepDirection
Направление развертки строки.
movementDirection
Направление перемещения строки.
remainingRect
По возврату, неиспользованному, возможно смещенному, часть
proposedRect
это доступно для дальнейшего текста, илиNSZeroRect
если нет никакого остатка.Возвращаемое значение
Самый длинный прямоугольник, доступный в предложенном прямоугольнике для отображения текста, или
NSZeroRect
если нет ни одного согласно определению области получателя.Обсуждение
Нет никакой гарантии относительно ширины предложенного прямоугольника или к его расположению. Например, предложенный прямоугольник, вероятно, будет намного более широким, чем ширина получателя. Получатель должен исследовать
proposedRect
видеть, что это пересекает свой ограничительный прямоугольник и должно возвратить измененный прямоугольник на основеsweepDirection
иmovementDirection
, чьи возможные значения перечислены в описании класса. ЕслиsweepDirection
NSLineSweepRight
, например, получатель использует эту информацию для обрезки правильного концаproposedRect
по мере необходимости, а не левый конец.Если
proposedRect
не полностью перекрывает область вдоль осиmovementDirection
иmovementDirection
неNSLineDoesntMove
, этот метод может или сместить прямоугольник в том направлении так же по мере необходимости так, чтобы это действительно полностью наложилось, или возвратNSZeroRect
указать, что просто не соответствует предложенный прямоугольник.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
isSimpleRectangularTextContainer - isSimpleRectangularTextContainer
Доступный в OS X v10.0 через OS X v10.9Переопределенный подклассами, чтобы возвратиться, является ли область получателя прямоугольником без дыр или разрывов и чьи края параллельны текстовым осям системы координат представления.
Объявление
Objective C
- (BOOL)isSimpleRectangularTextContainer
Возвращаемое значение
YES
true
если область получателя является прямоугольником без дыр или разрывов и чьи края параллельны текстовым осям системы координат представления,NO
false
иначе.Обсуждение
Текстовый контейнер, изменения формы которого могут возвратиться
YES
true
если его область является в настоящее время простым прямоугольником, но когда его форма действительно изменяется, он должен отправитьtextContainerChangedGeometry:
его менеджеру по расположению, таким образом, расположение может быть повторно вычислено.Значение по умолчанию
NSTextContainer
реализация этого метода возвратыYES
true
.Оператор импорта
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 через OS X v10.9.
-
Переопределенный подклассами, чтобы возвратиться, находится ли точка в области получателя или на краю области — не просто в его ограничительном прямоугольнике.
Объявление
Swift
func containsPoint(_
aPoint
: NSPoint) -> BoolObjective C
- (BOOL)containsPoint:(NSPoint)
aPoint
Параметры
aPoint
Рассматриваемый вопрос.
Возвращаемое значение
YES
true
еслиaPoint
находится в области получателя или на краю области — не просто в его ограничительном прямоугольнике —NO
false
иначе.Обсуждение
Например, если получатель определяет форму пончика и
aPoint
находится в дыре, этот метод возвратыNO
false
. Этот метод может использоваться для тестирования хита событий от нажатия мыши.Значение по умолчанию
NSTextContainer
реализация просто проверяет этоaPoint
находится в его ограничительном прямоугольнике.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Эти константы описывают прогрессию текста на странице. Наборное устройство решает, какой путь текст, как предполагается, течет и передает эти значения как параметры текстовому контейнеру, использующему их для вычисления прямоугольника следующей строки.
Объявление
Swift
enum NSLineSweepDirection : UInt { case Left case Right case Down case Up }
Objective C
enum { NSLineSweepLeft = 0, NSLineSweepRight = 1, NSLineSweepDown = 2, NSLineSweepUp = 3 }; typedef NSUInteger NSLineSweepDirection;
Константы
-
Left
NSLineSweepLeft
Символы перемещаются справа налево.
Доступный в OS X v10.0 и позже.
-
Right
NSLineSweepRight
Символы перемещаются слева направо.
Доступный в OS X v10.0 и позже.
-
Down
NSLineSweepDown
Символы перемещаются сверху донизу.
Доступный в OS X v10.0 и позже.
-
Up
NSLineSweepUp
Символы перемещаются от нижней части до вершины.
Доступный в OS X v10.0 и позже.
Обсуждение
Развертка строки является текстовым прогрессом направления в строке. См. текстовый Системный Обзор Уровня хранения.
Единственные значения, в настоящее время используемые предоставленными наборными устройствами,
NSLineSweepRight
иNSLineMovesDown
.NSTextContainer
подкласс должен быть подготовлен иметь дело с любым значением, иNSTypesetter
подкласс должен быть в состоянии использовать любого из них.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
-
Перемещение строки является направлением, в которое перемещаются строки. См. текстовый Системный Обзор Уровня хранения.
Объявление
Swift
enum NSLineMovementDirection : UInt { case DoesntMove case MovesLeft case MovesRight case MovesDown case MovesUp }
Objective C
enum { NSLineDoesntMove = 0, NSLineMovesLeft = 1, NSLineMovesRight = 2, NSLineMovesDown = 3, NSLineMovesUp = 4 }; typedef NSUInteger NSLineMovementDirection;
Константы
-
MovesLeft
NSLineMovesLeft
Строки перемещаются справа налево.
Доступный в OS X v10.0 и позже.
-
MovesRight
NSLineMovesRight
Строки перемещаются слева направо.
Доступный в OS X v10.0 и позже.
-
MovesDown
NSLineMovesDown
Строки перемещаются сверху донизу.
Доступный в OS X v10.0 и позже.
-
MovesUp
NSLineMovesUp
Строки перемещаются от нижней части до вершины.
Доступный в OS X v10.0 и позже.
-
DoesntMove
NSLineDoesntMove
Строка не имеет никакого перемещения.
Доступный в OS X v10.0 и позже.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-