私が取り組んでいるカスタムステッカーパックメッセージアプリがあります。プログラムで生成されたビューにステッカーブラウザを読み込んでいます。ステッカーはシーケンスではなくアニメ化された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機能で
クール、私はそれを撮影し、それがどのように行くかを教えてあげるよ。ありがとうございます –
これは私のすべてのケースではiMessageで動作していません、私はより多くの私は、通常のアプリケーションとは少し違ったことをしているかもしれないが、iMessageフレームワークを見てより多くを探索するカスタムコードで良いハウスキーピングは、いかなる場合でも。 –