iOSHTMLViewer.LoadURL
From Xojo Documentation
Displays the specified URL. Be sure to include the appropriate prefix, such as "http://".
Notes
To load HTML from a file on the device, pass FolderItem.URLPath to LoadURL.
To load HTML from Text, first save it to a file using TextOutputStream and then load it using the URLPath to the FolderItem.
Sample Code
Display wikipedia:
To display HTML that is in a file, you can load it by using the URLPath for the file. This example saves HTML to a text file and then loads the file into an HTMLViewer:
Var htmlFile As FolderItem = SpecialFolder.Documents.Child("hello.html")
Var output As TextOutputStream
output = TextOutputStream.Create(htmlFile, TextEncoding.UTF8)
output.WriteLine(html)
output.Close
HTMLViewer1.LoadURL(htmlFile.URLPath)
Note: The above code may not load the file due to sandboxing. If that happens to you, try the Loading HTML From Documents Folder code below.
Loading Directly from Text
You can use this Declare to load HTML directly from Text:
Declare Sub loadHTML Lib "UIKit.Framework" Selector "loadHTMLString:baseURL:" (obj_id As Ptr, html As CFStringRef, url As Ptr)
loadHTML(HTMLViewer1.Handle, html, Nil)
Loading HTML From Documents Folder
iOS sandboxing of the app and the HTML Viewer can prevent the HTML Viewer from seeing files that are in the app's Documents folder. This code can be used to provide access to files in the Documents folder:
Declare Function URLWithString Lib "Foundation.framework" Selector "URLWithString:" ( id As Ptr, URLString As CFStringRef ) As Ptr
Declare Sub loadFileURL Lib "UIKit.framework" Selector "loadFileURL:allowingReadAccessToURL:" (obj As Ptr, url As Ptr, readAccessURL As Ptr)
// htmlFile is a Xojo.IO.FolderItem from Xojo.IO.SpecialFolder.Documents
Var nsURL As Ptr = URLWithString(NSClassFromString("NSURL"), htmlFile.URLPath)
Var readURL As Ptr = URLWithString(NSClassFromString("NSURL"), htmlFile.parent.URLPath)
loadFileURL(HTMLViewer1.Handle, nsURL, readURL) // Display the contents in an iOSHTMLViewer