2016-10-05 3 views
4

私が取り組んでいるカスタムステッカーパックメッセージアプリがあります。プログラムで生成されたビューにステッカーブラウザを読み込んでいます。ステッカーはシーケンスではなくアニメ化されたpng(単一のファイル)であるAPNGです。すべてが動作しているようですが、私はメッセージメッセージステッカーアプリ内で作業するときに「外観トランジションの開始/終了のアンバランスな呼び出し...」

Unbalanced calls to begin/end appearance transitions for <CKPresentationControllerRootViewController: 0x110a34c20>. 

にそれらのいずれかをドラッグし始めたとき、私はこのエラーを取得するいくつかの理由のために私はそれが親の前にVCが呼び出されたときにアンバランスコール発行が起動することを読みました私はwillBecomeActive

サンプルコードに、createBrowser、ビューの生成を移動:

func createBrowser() { 
    let controller = MSStickerBrowserViewController(stickerSize: .small) 
    addChildViewController(controller) 
    // This calls a custom constraints function that sets the VC constraints 
    view.addSubviewStretched(subview: controller.view) 
    controller.stickerBrowserView.backgroundColor = UIColor(patternImage: UIImage(named: "background.png")!) 
    controller.stickerBrowserView.dataSource = self 
} 


// Get total number of stickers 
func numberOfStickers(in stickerBrowserView: MSStickerBrowserView) -> Int { 
    return stickers.count 
} 

func stickerBrowserView(_ stickerBrowserView: MSStickerBrowserView, stickerAt index: Int) -> MSSticker { 
    return stickers[index] 
} 

にかかわらず、私はどちらかwillTransitionまたはのviewDidLoadで、ビューを作成する場合の、誤差はランダムに発生します。私はそれが何かの助けがあれば私のiPhone 7 +にusb経由でアプリをプッシュしています。

あなたがaddChildViewController を呼び出していますが、これはViewControllerを包含階層に行った変更を必要と仮定して(正しく

のViewControllerトランジションを呼び出すためのUIKitを可能にしている

controller.willMove(toParentViewController:self) 

を呼び出すことを怠っあなたcreateBrowser機能で

答えて

0

そのUIViewControllerのサブクラスの中で呼び出される)

+0

クール、私はそれを撮影し、それがどのように行くかを教えてあげるよ。ありがとうございます –

+0

これは私のすべてのケースではiMessageで動作していません、私はより多くの私は、通常のアプリケーションとは少し違ったことをしているかもしれないが、iMessageフレームワークを見てより多くを探索するカスタムコードで良いハウスキーピングは、いかなる場合でも。 –

関連する問題