2014-09-15 3 views
24

mag ich Anlage in meiner iOS-Anwendung hinzufügen, dass Benutzer direkt von der Push-Benachrichtigung auf den Beitrag antworten können. Wie die iMessage App tut es in iOS 8. Ich bin in der Lage, Schaltflächen zu Push-Benachrichtigung hinzufügen, aber keine Anleitung zum Hinzufügen von Textfeld gefunden. Hilfe bitte. Danke im Voraus.Hinzufügen von Textfeld in Remote-Benachrichtigung, iOS 8

--------------------------------------------- ---------------------------------------------

ich weiß, wie Aktion (Tasten) hinzufügen, aber wie für die Eingabe

enter image description here

Antwort

14

zu der Zeit zu fragen, war dies nicht möglich, unter Verwendung des bereitgestellten API ein Textfeld oder Textansicht hinzuzufügen. UIUserNotificationAction Objekte stellten nur zusätzliche Schaltflächen dar, die Sie hinzufügen können, aber Sie können Text nicht direkt eingeben. Für den Moment sollten Sie eine "Antworten" -Schaltfläche hinzufügen. Wenn Sie auf tippen, wird die App mit der sichtbaren Tastatur geöffnet, sodass Benutzer antworten können.

Mit iOS 9 SDK ist dies möglich, indem UIUserNotificationActionBehaviorTextInput als behavior der Benachrichtigungsaktion festgelegt wird. Lesen Sie die Dokumentation für weitere Informationen.

Siehe this Antwort für ein Beispiel, wie dies in Swift zu erreichen.

+0

einige Code überprüfen Sie die Antwort unten http://stackoverflow.com/a/31794374 zu überprüfen/644149 –

9

Sie können dies nicht in iOS 8 oder darunter tun, aber das gleiche ist mit iOS 9 möglich, ich habe eine blog post bezüglich derselben geschrieben. Es ist ziemlich einfach,

//creating the inline reply notification action 
    let replyAction = UIMutableUserNotificationAction() 
    replyAction.title = "Say Something" 
    replyAction.identifier = "inline-reply" 
    replyAction.activationMode = .Background 
    replyAction.authenticationRequired = false 
    replyAction.behavior = .TextInput 

//creating a category 
    let notificationCategory:UIMutableUserNotificationCategory = UIMutableUserNotificationCategory() 
    notificationCategory.identifier = "INVITE_CATEGORY" 
    notificationCategory .setActions([replyAction], forContext: UIUserNotificationActionContext.Default) 

//registerting for the notification. 
     application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes:[ UIUserNotificationType.Sound, UIUserNotificationType.Alert, 
      UIUserNotificationType.Badge], categories: NSSet(array:[notificationCategory]) as? Set<UIUserNotificationCategory>)) 

ich es war in der Lage zu bekommen, wie unten,

enter image description here

+0

Irgendeine Idee, wie Benutzereingaben übertragen werden, wenn die Taste gedrückt wird? Wie in der iMessage App. Und hast du einen Fehler mit der schwarzen Tastatur, wenn das iPhone durch ein Passwort gesperrt ist, und du versuchst, auf den Sperrbildschirm zu drücken und du hast ihn gedrückt? –

+0

@RomanTruba Ich bekomme Ihre Frage nicht richtig, könnten Sie bitte klarer sein. Sie möchten Benutzereingaben an wo und wann übertragen? – satheeshwaran

+0

Siehe Beispiel von iMessage App: wenn Sie ein Banner mit einer Meldung angezeigt wird, ziehen Sie sie zu beantworten, dann einen Text eingeben und dann auf Banner drücken, nicht eine Schaltfläche „Senden“. Sie sehen den Text, den Sie in das Eingabefeld eingegeben haben. –