Swift SafariViewController 动画
Swift SafariViewController animation
在我的 SpriteKit 游戏中,所有横向的游戏中,我显示的是 SafariViewController。
func showSafariViewController(forURL url: String) {
guard let validURL = NSURL(string: url) else { return }
let safariViewController = SFSafariViewController(URL: validURL)
safariViewController.delegate = self
// present safariViewController
}
open/closing 动画来自右侧。
当使用 Facebook SDK 登录 Facebook 时,看起来他们也在使用 SafariViewController 并且它从底部开始动画 in/out。
有什么方法可以实现吗?
FacebookSDK 的行为有点棘手:他们将 SafariVC 添加到另一个视图控制器 (containerVC),然后呈现 containerVC,而不是 SafariVC。
我写了一个实现此行为的示例(不确定自动调整掩码大小,可能您需要使用自动布局,但这取决于您):
let containerVC = UIViewController()
let url = URL(string: "https://yandex.ru")!
let safariVC = SFSafariViewController(url: url)
containerVC.addChildViewController(safariVC)
safariVC.view.autoresizingMask = [ .flexibleWidth, .flexibleHeight ]
safariVC.view.frame = containerVC.view.frame
containerVC.view.addSubview(safariVC.view)
safariVC.didMove(toParentViewController: containerVC)
self.present(containerVC, animated: true, completion: nil)
在我的 SpriteKit 游戏中,所有横向的游戏中,我显示的是 SafariViewController。
func showSafariViewController(forURL url: String) {
guard let validURL = NSURL(string: url) else { return }
let safariViewController = SFSafariViewController(URL: validURL)
safariViewController.delegate = self
// present safariViewController
}
open/closing 动画来自右侧。
当使用 Facebook SDK 登录 Facebook 时,看起来他们也在使用 SafariViewController 并且它从底部开始动画 in/out。
有什么方法可以实现吗?
FacebookSDK 的行为有点棘手:他们将 SafariVC 添加到另一个视图控制器 (containerVC),然后呈现 containerVC,而不是 SafariVC。
我写了一个实现此行为的示例(不确定自动调整掩码大小,可能您需要使用自动布局,但这取决于您):
let containerVC = UIViewController()
let url = URL(string: "https://yandex.ru")!
let safariVC = SFSafariViewController(url: url)
containerVC.addChildViewController(safariVC)
safariVC.view.autoresizingMask = [ .flexibleWidth, .flexibleHeight ]
safariVC.view.frame = containerVC.view.frame
containerVC.view.addSubview(safariVC.view)
safariVC.didMove(toParentViewController: containerVC)
self.present(containerVC, animated: true, completion: nil)