2014-09-15 61 views
24

iOS uygulamasına, kullanıcının iletime doğrudan iletme bildiriminden yanıtlayabileceği bir özellik eklemek istiyorum. IMessage uygulaması iOS 8'de yaptığı gibi, bildirimi zorlamak için düğmeler ekleyebilirim ancak metin alanı ekleme konusunda herhangi bir kılavuz bulamadım. Herhangi Bir Yardım Lütfen. Şimdiden teşekkürler.Uzaktan Bildirim'de metin alanı ekleme, iOS 8

--------------------------------------------- (Bu tabloyu kapaBu tabloyu kapaBu tabloyu kapaBu tabloyu aç% 100) Ben eylem (düğmeleri) nasıl ekleneceğini ancak sağlanan API kullanarak bu mümkün değildi, soran sırasında girişine

enter image description here

cevap

14

için bir metin alanı veya metin görünümü eklemek biliyorum. UIUserNotificationAction nesneleri yalnızca ekleyebileceğiniz ek düğmeleri temsil eder, ancak doğrudan metin giremezsiniz. Şimdilik, bir "Cevapla" düğmesi eklemelisiniz, ve dokunun, kullanıcıların klavyenin görünür olması için uygulamayı açabileceği şekilde açar.

iOS 9 SDK ile bu, bildirim eyleminin behavior numarası olarak UIUserNotificationActionBehaviorTextInput ayarlanarak yapılabilir. Daha fazla bilgi için belgeleri okuduğunuzdan emin olun. Bu örnekte Swift'te nasıl elde edileceğine dair bir örnek için this cevabına bakın.

+0

bazı kodunu kontrol etmek altına cevabı kontrol et, http://stackoverflow.com/a/31794374 oldukça basittir/644149 –

9

Bunu iOS 8 veya daha düşük bir sürümde yapamazsınız, ancak iOS 9 ile aynı şeyleri yapamazsınız, ben de buna benzer bir blog post yazdım. Ben aşağıda gibi bunu elde edebildi

//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>)) 

,

enter image description here

+0

Herhangi bir fikir, basıldığında ne zaman kullanıcı girişi aktarılır? IMessage uygulamasında olduğu gibi. Ve siyah premanent klavye ile bir hata var, bir şifre ile iPhone kilitlendiğinde, ve kilit ekranı itin ve cevapladı? –

+0

@RomanTruba Sorunuzu düzgün bir şekilde alamıyorum, lütfen daha açık olabilir misiniz? Kullanıcı girişini nereye ve ne zaman aktarmak istiyorsunuz? – satheeshwaran

+0

iMessage uygulamasından örneğe bakın: mesaj içeren bir banner gördüğünüzde, cevaplamak için çekin ve ardından bir metin girin ve ardından "gönder" düğmesine değil, banner'a basın. Giriş alanına girdiğiniz metni göreceksiniz. –