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

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

Разработчик

Ссылка платформы AppKit ссылка класса NSVisualEffectView

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

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

NSVisualEffectView

NSVisualEffectView предоставляет поддержку для эффектов пользовательского интерфейса, представленных в OS X Yosemite, связанный с полупрозрачностью, включая «вибрирующие» появления. Для создания содержания смешения представления с тем, что находится позади окна представления или смешения с содержанием представления глубже в иерархии представления Вы содержите представление в представлении визуального эффекта.

Полупрозрачность

Представление визуального эффекта обеспечивает два различных стиля полупрозрачности, как проиллюстрировано в снимке экрана:

  • Смешивание позади окна позволяет то, что находится позади окна для показа через. Этот стиль автоматически установлен во многих местах, включая листы, легкая сдоба (NSPopover), и табличные представления с помощью источника перечисляют стиль подсветки выделения.

  • Смешивание в окне позволяет содержанию окна показывать через и автоматически установлено для панелей инструментов.

image: Art/main_article.pdf

Вибрация связана с полупрозрачностью. Это описывает составляющий композит режим, делающий специальное смешивание такой как Плюс Легче, Плюс Более темный, Колор Додж или Колор Берн. Система автоматически использует вибрацию во многих местах, включая легкую сдобу, листы и табличные представления боковой панели. Некоторые элементы UI динамично используют вибрацию на основе своего содержания. Например, NSTextField возразите вибрации использования, когда определенные особые цвета будут использоваться, такой как NSColor labelColor и secondaryLabelColor. Вы, возможно, тем не менее, должны поддерживать вибрацию в пользовательском представлении, или с другой стороны Вы, возможно, должны отключить вибрацию в представлении.

Управление вибрацией

Первый шаг в поддержке вибрации в представлении должен содержать представление в экземпляре NSVisualEffectView. Обычно лучше добавить вибрацию только к листовым представлениям, не контейнерным представлениям, потому что трудно выключить вибрацию, как только это идет. Кроме того:

  • Представление должно реализовать allowsVibrancy возвратиться true.

  • Эффективное появление представления должно позволить вибрацию (т.е. это должно быть любой NSAppearanceNameVibrantLight или NSAppearanceNameVibrantDark появление).

    В большинстве случаев Вы устанавливаете появление на окне или на представлении визуального эффекта — подпредставления тогда наследовали появление.

  • Если режим наложения NSVisualEffectBlendingModeWithinWindow, представление должно использовать Базовые Слои анимации.

    В этом случае лучше устанавливать wantsLayer к true на родительском представлении, содержащем представление визуального эффекта, потому что размывание произойдет при представлении визуального эффекта и его подпредставлениях.

По умолчанию, если представление установлено быть нарисованным как вибрирующее, и это и все его подпредставления будут вибрирующими — подпредставление не может выключить вибрацию просто путем возврата false от allowsVibrancy. То, ли или как можно выключить вибрацию, зависит от режима наложения — это вызвано тем, что NSVisualEffectViewреализация размывания и самой вибрации зависит от режима наложения:

  • В смешивании позади окна система описывает прямоугольник, который должен быть размыт к серверу окна. Области, которые должны быть вибрирующими, также описаны похожим способом. В этой ситуации Вы можете уклонение прямоугольные формы путем добавления другого представления визуального эффекта с его набором состояния к NSVisualEffectStateInactive; Вы тогда добавляете подпредставления к этому.

    Обратите внимание на то, что добавление другого представления визуального эффекта сделает прямоугольник, содержащий представление невибрирующий, включая что-либо нарисованное в том прямоугольнике родительским представлением. Это может иметь эффект разоблачения как более темные или более легкие прямоугольники вокруг некоторых представлений. Единственное решение в этом случае для всего представления или чтобы быть вибрирующим или не вибрирующим. Вы не можете смешать два.

  • Со смешиванием в окне вибрация достигается путем устанавливания фильтра составления композита уровня. Составляющий композит фильтр применяется к уровню и всем его дочерним элементам, который означает, что дочернее представление всегда будет вибрирующим. Однако можно добавить невибрирующие одноуровневые представления по вибрирующему представлению; перекрывающиеся одноуровневые представления не будут вибрирующими.

Используя появления

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

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

Если Вы разделяете на подклассы NSVisualEffectView:

Наследование


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


Swift

import AppKit

Objective C

@import AppKit;

Доступность


Доступный в OS X v10.10 и позже.
  • Материал для представления.

    Объявление

    Swift

    var material: NSVisualEffectMaterial

    Objective C

    @property NSVisualEffectMaterial material

    Обсуждение

    Значение по умолчанию NSVisualEffectMaterialAppearanceBased— материал обновляется, чтобы быть корректным материалом на основе набора появления на этом представлении.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Внутренний стиль фона представления.

    Объявление

    Swift

    var interiorBackgroundStyle: NSBackgroundStyle { get }

    Objective C

    @property(readonly) NSBackgroundStyle interiorBackgroundStyle

    Обсуждение

    Стиль фона может быть легким или темным, в зависимости от выбранного материала.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • blendingMode blendingMode Свойство

    Указывает, как размывается содержание представления.

    Объявление

    Swift

    var blendingMode: NSVisualEffectBlendingMode

    Objective C

    @property NSVisualEffectBlendingMode blendingMode

    Обсуждение

    Представление визуального эффекта может или смешаться с содержанием позади окна (NSVisualEffectBlendingModeBehindWindow), или в текущем окне (NSVisualEffectBlendingModeWithinWindow).

    ЯNSVisualEffectMaterialTitlebar, режим наложения может только быть NSVisualEffectBlendingModeWithinWindow.

    Значение по умолчанию NSVisualEffectBlendingModeBehindWindow.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Указывает состояние визуального эффекта представления.

    Объявление

    Swift

    var state: NSVisualEffectState

    Objective C

    @property NSVisualEffectState state

    Обсуждение

    Значение по умолчанию NSVisualEffectStateFollowsWindowActiveState.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • maskImage maskImage Свойство

    Маска изображения представления.

    Объявление

    Swift

    var maskImage: NSImage?

    Objective C

    @property(retain) NSImage *maskImage

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.10 и позже.

Типы данных

  • Константы для указания материала использование представления визуального эффекта.

    Объявление

    Swift

    enum NSVisualEffectMaterial : Int { case AppearanceBased case Light case Dark case Titlebar }

    Objective C

    typedef NS_ENUM(NSInteger, NSVisualEffectMaterial) { NSVisualEffectMaterialAppearanceBased, NSVisualEffectMaterialLight, NSVisualEffectMaterialDark, NSVisualEffectMaterialTitlebar };

    Константы

    • AppearanceBased

      NSVisualEffectMaterialAppearanceBased

      Указывает что существенный цвет быть определенным эффективным появлением представления.

      Доступный в OS X v10.10 и позже.

    • Light

      NSVisualEffectMaterialLight

      Указывает световой эффект.

      Доступный в OS X v10.10 и позже.

    • Dark

      NSVisualEffectMaterialDark

      Указывает темный эффект.

      Доступный в OS X v10.10 и позже.

    • Titlebar

      NSVisualEffectMaterialTitlebar

      Указывает его визуальный эффект для строки заголовка окна.

      Доступный в OS X v10.10 и позже.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Константы для указания источника содержания для смешивания, которое использует представление визуального эффекта.

    Объявление

    Swift

    enum NSVisualEffectBlendingMode : Int { case BehindWindow case WithinWindow }

    Objective C

    typedef NS_ENUM(NSInteger, NSVisualEffectBlendingMode) { NSVisualEffectBlendingModeBehindWindow, NSVisualEffectBlendingModeWithinWindow, };

    Константы

    • BehindWindow

      NSVisualEffectBlendingModeBehindWindow

      Смешения и размытость с содержанием позади окна (таким как рабочий стол или другие окна).

      Представления с помощью этого режима наложения могут наложиться, и представление ниже в иерархии «победит».

      Доступный в OS X v10.10 и позже.

    • WithinWindow

      NSVisualEffectBlendingModeWithinWindow

      Смешения и размытость с содержанием позади представления в текущем окне только.

      Для использования этого режима представления должны быть поддержаны уровнем.

      Представления с помощью этого режима наложения не должны перекрывать друг друга.

      Доступный в OS X v10.10 и позже.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Константы, чтобы указать, как существенное появление должно отразить состояние действия окна.

    Объявление

    Swift

    enum NSVisualEffectState : Int { case FollowsWindowActiveState case Active case Inactive }

    Objective C

    typedef NS_ENUM(NSInteger, NSVisualEffectState) { NSVisualEffectStateFollowsWindowActiveState, NSVisualEffectStateActive, NSVisualEffectStateInactive, };

    Константы

    • FollowsWindowActiveState

      NSVisualEffectStateFollowsWindowActiveState

      Указывает, что фон должен автоматически казаться активным, когда окно активно, и неактивно, когда это не активно.

      Доступный в OS X v10.10 и позже.

    • Active

      NSVisualEffectStateActive

      Указывает, что фон должен всегда казаться активным.

      Доступный в OS X v10.10 и позже.

    • Inactive

      NSVisualEffectStateInactive

      Указывает, что фон должен всегда казаться неактивным.

      Доступный в OS X v10.10 и позже.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.10 и позже.