我在使用WebView的内容时遇到了一些困难。 看起来网页的左侧部分被切断了,但在iPhone上的safari中它被正确显示(图片1和2)。约束设置正确。我还尝试将UIWebView移出PageViewController,但页面仍被切断。只有在打开此页面时才会出现此问题。
可以向右滚动,但如果我尝试向左滚动页面会被切断,正如我已经说过的那样。
UIWebView的代码:
class LoginWebViewController: UIViewController, UIWebViewDelegate {
//MARK: CLASSES
let userDefaults = NSUserDefaults.standardUserDefaults()
//OUTLETS
@IBOutlet weak var webView: UIWebView!
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
//IDENTIFIERS
let mainAppCycleSegueIdentifier = "showMainAppCycle"
/**
Assigning Delegates
*/
override func viewDidLoad() {
super.viewDidLoad()
webView.delegate = self
}
/**
Detecting correct URL for segue!
*/
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
let URLString = request.URL?.absoluteString
if URLString!.containsString(RESPONSE_URL) {
print("Token URL Loaded!")
self.performSegueWithIdentifier(mainAppCycleSegueIdentifier, sender: self)
if !userDefaults.boolForKey("HasLaunchedOnce") {
userDefaults.setBool(true, forKey: "HasLaunchedOnce")
}
}
return true
}
func webViewDidFinishLoad(webView: UIWebView) {
activityIndicator.stopAnimating()
let url = webView.request?.URL?.absoluteString
if url!.containsString(URL_WHERE_THE_PROBLEM_OCCURS) {
}
}
/**
Automatically loading starting URL once the View appears
*/
override func viewWillAppear(animated: Bool) {
let URLforRequest = NSURL(string: URL_TO_THE_AUTHENTICATION_SERVER)
let request = NSURLRequest(URL: URLforRequest!)
webView.loadRequest(request)
}
}
提前感谢您的帮助!
编辑:
由于我没有足够的声誉来发布超过2个链接,我不得不将它们放入谷歌驱动器上的文档中:Document with links on Google Drive 它只包含有关此问题的imgur图像链接。
答案 0 :(得分:0)
// I hope you it will work
override func viewDidLoad() {
super.viewDidLoad()
webView.delegate = self
webview.scalesPageToFit = true
// webview.contentMode = UIViewContentMode.ScaleToFill /* try with different options as per your requirement UIViewContentMode.ScaleAspectFill,UIViewContentMode.ScaleAspectFit
}
答案 1 :(得分:0)
我知道这是旧的,但如果其他人像我一样有这个问题,我发现webview rect比视图大小要大。代码抓住了全屏视图控制器的界限,但它应该从父节点获取边界。
改为抓住正确的界限,一切都很好。
我建议你在那里放一个断点并检查webview框架并将其与你的真实框架相匹配。