Как добиться динамичного состояния выбора в виджете Центра уведомлений сегодня

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

1 ответ

Решение

Просто добавьте UIButton к содержанию UIVisualEffectsView с помощью [UIVibrancyEffect notificationCenterVibrancyEffect]:

UIButton *myButton = ...
self.effectsView = [[UIVisualEffectView alloc] initWithEffect:[UIVibrancyEffect notificationCenterVibrancyEffect]];
self.effectsView.translatesAutoresizingMaskIntoConstraints = NO;
[self addSubview:self.effectsView];

[self.effectsView.contentView addSubview:myButton];

По умолчанию backgroundColor вашей кнопки должен быть [UIColor clearColor]. Затем, когда он коснулся, просто установите его цвет фона на [[UIColor lightGrayColor] colorWithAlphaComponent:0.5], (Значение альфа помогает, когда содержание позади центра уведомлений почти полностью белое).

Другие вопросы по тегам