2017-05-10 4 views
0

SKStoreProductViewControllerのインスタンスをのアニメーションなしで表示しようとしています。 animatedフラグにNOに渡すアニメーションのないSKStoreProductViewControllerを表示

のObjective-C

SKStoreProductViewController *storeProductVC = [[SKStoreProductViewController alloc] init]; 
[storeProductVC loadProductWithParameters: <PARAMETERS> completionBlock: nil]; 

[self presentViewController: storeProductVC animated: NO completion: nil]; 

スウィフト

let storeProductVC = SKStoreProductViewController() 
storeProductVC.loadProduct(withParameters: <PARAMETERS>, completionBlock: nil) 

self.present(storeProductVC, animated: false, completion: nil) 

:ビューコントローラStoreKitからコードの

スニペットから提示されています動作しませんでした。 StoreKitビューコントローラーにはまだアニメーションが表示されていました。アップルのフレームワークのテーマは、最小のカスタマイズを可能にすることですが、私はこれが当てはまらないことを望んでいます。

+0

あなたは 'loadProduct'終了ブロック内' present'呼び出します。 – rmaddy

+0

それは私の問題を解決しません。そして、完成ブロックに 'SKStoreProductViewController'を提示するかどうかは、UXの決定以上です。 –

答えて

1

アニメーションなしで別のUIウィンドウに表示できます。

のObjective-C

SKStoreProductViewController *storeProductVC = [[SKStoreProductViewController alloc] init]; 
[storeProductVC loadProductWithParameters: <PARAMETERS> completionBlock: nil]; 

UIScreen *mainScreen = [UIScreen mainScreen]; 

// Note: storeKitWindow should be strongly held, i.e. a property 
self.storeKitWindow = [[UIWindow alloc] initWithFrame: mainScreen.bounds]; 
self.storeKitWindow.screen = mainScreen; 
self.storeKitWindow.windowLevel = UIWindowLevelStatusBar; 
self.storeKitWindow.rootViewController = storeProductVC; 

[self.storeKitWindow makeKeyAndVisible]; 

スウィフト

let storeProductVC = SKStoreProductViewController() 
storeProductVC.loadProduct(withParameters: [:], completionBlock: nil) 

let mainScreen = UIScreen.main 

// Note: storeKitWindow should be strongly held, i.e. a property 
storeKitWindow = UIWindow(frame: mainScreen.bounds) 
storeKitWindow.screen = mainScreen 
storeKitWindow.windowLevel = UIWindowLevelStatusBar 
storeKitWindow.rootViewController = storeProductVC 

storeKitWindow.makeKeyAndVisible() 
関連する問題