Было бы здорово, если бы вы могли сказать, что вы пробовали раньше. Таким образом, мы можем помочь вам лучше.
Для этого вам нужно представление типа UIScrollView
(UITableView
, UICollectionView
и т. Д.).
Реализуйте этометод делегата, и он должен сделать свое дело. Отрегулируйте переменную swipeThreshold
в соответствии с вашими потребностями.
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let swipeThreshold: CGFloat = 10
let y = scrollView.panGestureRecognizer.translation(in: scrollView).y
if y != 0 && swipeThreshold > y {
navigationController?.setNavigationBarHidden(true, animated: true)
} else {
navigationController?.setNavigationBarHidden(false, animated: true)
}
}
Старый ответ в качестве ссылки:
Вот один из способов сделать это - использовать SFSafariViewController
, используя SafariServices
.
import UIKit
import SafariServices
class MainViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
// Call this method when you want to show the browser
func doSomething() {
let url = URL(string: "https://www.google.com")!
let safariViewController = SFSafariViewController(url: url)
present(safariViewController, animated: true, completion: nil)
}
}