2015-12-19 2 views
1

У меня возникают некоторые трудности с содержимым WebView. Кажется, что левая часть веб-страницы отключена, но в сафари на iPhone она отображается правильно (фотографии 1 и 2). Ограничения установлены правильно. Я также попытался переместить UIWebView из PageViewController, но страница все еще была отключена. Эта проблема возникает только при открытии этой страницы.Содержимое веб-страницы обрезается в UIWebView

Можно прокрутить вправо, но если я попробую прокрутить влево, страница обрезается, как я уже сказал.

Код 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 ссылки, я должен был поместить их в документ на Google Диск Document with links on Google Drive Он содержит только ссылки на изображения на Imgur относительно этого вопроса ,

+0

Мне кажется, это связано с тем, как вы выкладываете представление в своем файле .storyboard/.nib. Не могли бы вы предоставить некоторые скриншоты из них? –

+0

@BellAppLab Спасибо, что ответили. К сожалению, я не могу опубликовать более двух ссылок, поэтому я поместил их в документ в GoogleDrive. Я надеюсь, что сделал снимок экрана о том, что вы хотели. – S4nvers

ответ

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 

} 
0

Я знаю, что это старо, но если у кого-то есть такая проблема, как я, я понял, что прямоугольник webview больше размера вида. Код захватывал границы полноэкранного контроллера, но он должен получать границы от родителя.

Изменено, чтобы получить правильные границы и все работает отлично.

Предлагаю вам установить там точку останова и проверить рамку веб-просмотра и сопоставить ее с реальным фреймом.

Смежные вопросы