我正在使用MonoTouch上的一些C#后台任务创建一些Web /本机混合iOS应用程序。
对于初学者,我尝试创建非常简单的webView示例引用
(上面的示例项目代码有效,但我只需要一个没有NavigatorView的webView) 和
到目前为止我的代码是:
AppDelegate.cs
using System;
using MonoTouch.Foundation;
using MonoTouch.UIKit;
namespace iostest
{
[Register ("AppDelegate")]
public partial class AppDelegate : UIApplicationDelegate
{
UIWindow window;
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
// create a new window instance based on the screen size
window = new UIWindow (UIScreen.MainScreen.Bounds);
window.RootViewController = new WebViewController();
// make the window visible
window.MakeKeyAndVisible ();
return true;
}
}
}
WebViewController.cs
using System;
using System.IO;
using MonoTouch.Foundation;
using MonoTouch.UIKit;
namespace iostest
{
public class WebViewController : UIViewController {
UIWebView webView;
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
Console.WriteLine ("WebView Launched"); //this works
webView = new UIWebView(View.Bounds);
webView.ScalesPageToFit = false;
webView.LoadRequest (new NSUrlRequest
(new NSUrl (Path.Combine(NSBundle.MainBundle.BundlePath,
"www/app.html"), false)));
this.View.AddSubview(webView);
}
}
}
此代码运行时没有错误,但结果只有空白页面,而没有显示我的HTML内容“www / app.html”(或“http://google.com”无论如何)。
我看不出我想念的逻辑。任何想法?感谢。
答案 0 :(得分:1)
好吧,事情很模糊,但我自己解决了。
问题是本地资源文件(“www / app.html”)应该在IDE的BuildAction属性中标记为“内容”。
我记得几年前我被困在这里,仍然看到很多人被困。
缺乏文档会导致浪费时间。请记录Xamarin。
目前的代码供将来参考:
<强> AppDelegate.cs 强>
using System;
//using System.Collections.Generic;
//using System.Linq;
using MonoTouch.Foundation;
using MonoTouch.UIKit;
namespace iOStest2
{
[Register ("AppDelegate")]
public partial class AppDelegate : UIApplicationDelegate
{
UIWindow window;
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
window = new UIWindow (UIScreen.MainScreen.Bounds);
window.RootViewController = new WebViewController ();
window.MakeKeyAndVisible ();
return true;
}
}
}
<强> WebViewController.cs 强>
using System;
using System.IO;
using MonoTouch.Foundation;
using MonoTouch.UIKit;
namespace iOStest2
{
public class WebViewController : UIViewController
{
UIWebView webView;
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
Console.WriteLine ("WebView Launched");
View.BackgroundColor = UIColor.Gray;
//string url = "http://google.com";
string url= Path.Combine(NSBundle.MainBundle.BundlePath,
"Content/app.html");
webView = new UIWebView(View.Bounds);
webView.LoadRequest(new NSUrlRequest(new NSUrl(url,false)));
webView.ScalesPageToFit = false;
View.AddSubview(webView);
}
}
}