2016-01-13 3 views
4

Я работаю над своим первым виджетами Today Center, который просто состоит из трех ярлыков на раскадровке по умолчанию. Он работает нормально, но я прочитал в iOS Human Interface Guidelines, что вторичный текст должен «использовать яркий внешний вид системы» с notificationCenterVibrancyEffect.Как указать яркий внешний вид для вторичного текста «Сегодняшний центр»?

Каков правильный способ добавить этот эффект вибрации к моим двум вторичным этикеткам? Я читал о UIVisualEffectView, но мне все еще не ясно, как использовать его для этой цели. Я не думаю, что хочу поместить размытый взгляд за моими ярлыками, потому что Notification Center уже размывает фон.

ответ

1

UIVisualEffectView при настройке с UIVibrancyEffect предназначен для использования в качестве контейнера - просто снимите метки в своем contentView, и вы получите соответствующий вид поверх размытия Центра уведомлений. Цвет текста не имеет значения; когда он добавляется к contentView, он получает специальное лечение и эффективно всегда визуализируется с одинаковым внешним видом, хотя вы все равно можете настроить альфа представления (а не цвет текста), чтобы сделать его более или менее заметным.

vibrancy examples

+0

Это должно быть сделано в коде, не так ли? –

+0

Не обязательно. Интерфейс Builder также поддерживает визуальные эффекты. Просто установите их по той же схеме. См. [Этот ответ] (http://stackoverflow.com/a/27829073/30618) для получения более подробной информации об этом. –

+0

ОК, я думаю, что, наконец, все получилось. Я следил за ответом, на который вы ссылались в своем комментарии, но дополнительно мне нужно было отметить флажок «Яркий» в «Интерфейс-Builder» для визуальных визуальных представлений. Решающе, я переместил основной ярлык за пределы иерархии представлений двух визуальных эффектов, поэтому он не имеет яркого внешнего вида. Это оставляет вторичные ярлыки как часть иерархии представлений визуального эффекта, а это значит, что они действительно оживляют. –

1

хороший день, в первую очередь, и должны использовать правильную иерархию вида, когда U добавить некоторые объекты в вашем примере VisualEffectView:

enter image description here

UIVibrancyEffect используется в сочетании с UIVisualEffectView, поправляет цвета содержимого, чтобы сделать его более прозрачным. UIVibrancyEffect может смешивать некоторые объекты с фоном, например:

enter image description here

Более конкретно на ваш вопрос (https://stackoverflow.com/a/25392645/4912496) Apple рекомендует использовать яркий эффект для вторичного текста, потому что его просто красиво, например (яблоко родное приложение использовать яркие эффект, а не Sports.ru использовать):

enter image description here

Но, некоторые приложения не используют этот эффект ... Для того, чтобы убедиться, что ваш виджет получает динамизм эфф ect, который подходит для отображения элементов в представлении Сегодня, используйте notificationCenterVibrancyEffect. Дополнительная информация. https://www.omnigroup.com/developer/how-to-make-text-in-a-uivisualeffectview-readable-on-any-background