我正在调整UILocalNotification
和通知操作 - 所有这些工作正如我所期望的那样,只有当我在我的类别中提供两个Minimal
操作时,通过滑动显示操作时在通知中心,最右边的操作始终是蓝色。
由于我的应用程序中的操作是相同的,我宁愿它们都是清晰的灰色,而不是一个蓝色,一个清晰。我知道我可以用destructive
将它们变成红色,但这也是错误的,如果我明确地将destructive
设置为false
,我仍然会得到一个蓝色,一个清楚。
这是一张显示我正在谈论的内容的图片:
以下是我用来制作它的代码:
let note = UILocalNotification()
note.fireDate = NSDate(timeIntervalSinceNow: 5)
note.timeZone = NSTimeZone.defaultTimeZone()
note.alertBody = "Actions: A and B"
note.alertTitle = "Notification!"
let action1 = UIMutableUserNotificationAction()
action1.identifier = “ACTION_A"
action1.title = "A"
action1.activationMode = .Background
let action2 = UIMutableUserNotificationAction()
action2.identifier = “ACTION_B"
action2.title = "B"
action2.activationMode = .Background
let category = UIMutableUserNotificationCategory()
category.identifier = "ANSWERS_CATEGORY"
category.setActions([action1, action2], forContext: .Default)
note.category = “ACTIONS_CATEGORY"
let categories = Set(arrayLiteral: category)
let settingsRequest = UIUserNotificationSettings(forTypes: [.Alert, .Sound, .Badge], categories: categories)
UIApplication.sharedApplication().registerUserNotificationSettings(settingsRequest)
UIApplication.sharedApplication().scheduleLocalNotification(note)
答案 0 :(得分:3)
HiG和notification programming guide都不建议可以设置按钮的背景颜色。我发现的最具体的参考是后者,即:
如果破坏性属性为NO,则操作按钮显示为蓝色;如果是,则按钮为红色。
这显然不准确,因为两个非破坏性动作都不是蓝色,但暗示暗示每个颜色的颜色由iOS自动设置