Я пытаюсь заставить приложение работать на мою работу. В этом приложении мы хотим показать сайт через WKWebViewKit и в навигационной панели должен быть логотип нашей компании. Также есть кнопка обновления, которая должна перезагрузить URL, который я набрал в коде, а не только страницу, которая открывается в данный момент.
Я уже пытался найти решение, но изображение все еще находится вполный размер панели навигации. Я также не нашел решения для кнопки обновления. В прошлый раз, когда я использовал историю, вернитесь на -1, потому что у меня была только одна следующая страница, но в этом проекте есть сотни следующих страниц, на которые пользователь может щелкнуть.
Вот код для ViewController.swift:
import UIKit
import WebKit
class ViewController: UIViewController, WKNavigationDelegate {
var webView: WKWebView!
override func loadView() {
webView = WKWebView()
webView.navigationDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
// 1
let url = URL(string: "https://example.com")!
webView.load(URLRequest(url: url))
// 2
let refresh = UIBarButtonItem(barButtonSystemItem: .refresh, target: webView, action: #selector(webView.reload))
toolbarItems = [refresh]
navigationController?.isToolbarHidden = false
}
override func viewDidAppear(_ animated: Bool) {
let navController = self.navigationController!
navController.navigationBar.barStyle = UIBarStyle.black
navController.navigationBar.tintColor = UIColor.white
let image = UIImage (named: "logo-white")
let imageView = UIImageView(image: image)
let bannerWidth = navController.navigationBar.frame.size.width
let bannerHeight = navController.navigationBar.frame.size.height
let bannerX = bannerWidth / 2 - image!.size.width / 2
let bannerY = bannerHeight / 2 - image!.size.height / 2
imageView.frame = CGRect(x: bannerX, y: bannerY, width: bannerWidth, height: bannerHeight)
imageView.contentMode = .scaleAspectFit
navigationItem.titleView = imageView
}