2016-11-01 3 views
1

私は、ユーザーがボタンをタップしたときに、プレゼンテーションを拡張した状態で、即座にiMessage Extensionを持っています。このボタンをタップすると、ビュー全体が閉じられるか、少なくともコンパクトモードに戻ります。何が間違っているのか分かりません。ここdidTransitionは私のボタンから呼び出されている:メッセージを表示解除する

self.didTransition(to: MSMessagesAppPresentationStyle.compact) 

とアクション:

override func didTransition(to presentationStyle: MSMessagesAppPresentationStyle) { 

    guard presentationStyle == .expanded else { return } 
    self.dismiss(animated: true) { 

    } 
} 

しかし、これは動作しません。誰かが私が間違っていることを知っていますか?

答えて

0

実際にコールする権利funcが1ということである:あなたのMSMessageAppViewControllerでこのようにそれを呼び出すことができます

requestPresentationStyle(MSMessagesAppPresentationStyle) 

self.requestPresentationStyle(.compact) 

あなたが何かを上書きする必要はありません。)このホープが手伝う!

注:それはあなたに大いに役立つでしょう https://developer.apple.com/reference/messages/msmessagesappviewcontroller

:ここではドキュメントに見て!

0

これらの機能はMSMessagesViewControllerに別の遷移状態から移動するのに役立ちます: -

requestPresentationStyle(.expanded)  
requestPresentationStyle(.compact) 

法上willTransitionとdidTransitionを起動します: - ここに

override func willTransition(to presentationStyle: MSMessagesAppPresentationStyle) { 

//我々がチェックすることができます必要に応じてコントローラを移動してください。 https://developer.apple.com/videos/play/wwdc2016/224/

:詳細情報すなわち

let controller: UIViewController 
    if presentationStyle == .compact { 
     controller = instantiateCompactController() 
    } 
    else { 
     controller = instantiateExpandController() 
    } 
    //and then Present Controller 
    } 

関連する問題