【问题标题】:How to locate directory resource in Xamarin ios如何在 Xamarin ios 中定位目录资源
【发布时间】:2016-08-21 13:18:47
【问题描述】:

我目前正在使用 Xamarin.iOS 并尝试从我的项目资源和项目目录中的目录中获取数据。但是我在获取信息时无法获取数据。我什至可以看到整个目录并没有复制到应用程序包本身中。

下面是我的代码。

string localHtmlUrl = Path.Combine(NSBundle.MainBundle.BundlePath,
                                   string.Format("NewFolder/webref/index.html")
                      );

【问题讨论】:

  • 这个运气好吗?您能在下面的屏幕截图中显示您的文件的位置吗?

标签: ios xamarin xamarin.ios xamarin.forms xamarin-studio


【解决方案1】:

从这个sample 我想你所需要的就是这个:

string fileName = "NewFolder/webref/index.html"; // remember case-sensitive
string localHtmlUrl = Path.Combine (NSBundle.MainBundle.BundlePath, fileName);
webView.LoadRequest(new NSUrlRequest(new NSUrl(localHtmlUrl, false)));

如果你有这样的文件夹结构:

如果它在您的 Resource 文件夹中,那么您需要将它放在您的路径中,如下所示:

string fileName = "Resource/NewFolder/webref/index.html";

记住将所有文件的Build Action 设置为BundleResource

也可以试试这个:

var fileName = "NewFolder/webref/index.html";
webView.LoadHtmlString (File.ReadAllText (fileName), NSUrl.FromFilename (fileName));

【讨论】:

  • 感谢 lain 在这里指导我,我发现我在 xamarin.ios 项目中添加了目录结构的问题,但是在调试时我可以看到完整的目录结构没有复制到应用程序包中。所以在这种情况下,我无法获得所需的文件 index.html。
  • 您是否将所有文件的 Build Action 设置为 BundleResource?
  • 对我来说它现在可以工作了,感谢 lain 帮助我,我必须选择每个目录中的所有文件,然后适当地提供操作并访问文件夹。
  • 很高兴它成功了!如果您认为某个答案解决了问题,请单击绿色复选标记将其标记为“已接受”。这有助于将注意力集中在仍然没有答案的旧 SO 问题上。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-05
  • 2018-09-16
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
相关资源
最近更新 更多