ios - 呈现没有动画的 SKStoreProductViewController

标签 ios objective-c swift storekit ios-animations

我正在尝试呈现 SKStoreProductViewController 没有 动画的实例。

StoreKit View Controller 的代码片段来自:

objective-C

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

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

swift

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

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

animated 标志传递 NO 无效。 StoreKit View Controller 仍然呈现动画。我知道 Apple 框架的主题是允许最少的自定义,但我希望情况并非如此。

最佳答案

您可以在单独的 UIWindow 中不带动画地呈现它。

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];

swift

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

关于ios - 呈现没有动画的 SKStoreProductViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43885565/

相关文章:

ios - 在 Objective-C 中基于 if else 定义宏

ios - 使用其他图像和自定义颜色 mask 图像

ios - 无法在 View Controller 之间传递数据

iphone - iPhone应用程序中的启动画面使用Storyboard延迟

ios - Sprite Kit with Swift "use of unresolved identifier ' size'”示例代码

iphone - 在 NSArray iOS SDK 中更改对象的 alpha 值

ios - 无法使用 json 数据填充 UITableview

iphone - 我如何检查 NSArray 中是否存在特定的 NSString?

swift - 合并 View 而不是单独显示它们

Swift 图像放置在错误的单元格中并在 UICollectionview 中不断变化