我们有一个使用100.2.1 sdk的iOS应用程序。
我们需要从MainBundle或文件系统加载图像,以根据用户动态更改要加载的图像。
我们正在尝试使用此代码:
var url = NSBundle.MainBundle.PathForResource("StreetsIconSmall", "png", "Images");
if (url == null || url.Length == 0)
return null;
if (!System.IO.File.Exists(url))
return null;
return new Esri.ArcGISRuntime.Symbology.PictureMarkerSymbol(new Uri(url));
该文件存在,并使用buildaction“BundleResource”
进行编译如果我们在服务器上放置相同的图片并使用http://domain/images/StreetsIconSmall.png等网址,这个相同的代码就可以了。
此外,图像在加载到UIImageView时也能正常工作。
有什么想法吗?
答案 0 :(得分:0)
如果您需要NSUrl
,则可以直接使用GetUrlForResource
方法。
var url = NSBundle.MainBundle.GetUrlForResource("StreetsIconSmall", "png", "Images");
iOS包含区分大小写文件系统,因此在上面的示例中,StreetsIconSmall.png
需要位于名为"图像"的子目录中。 (即大写I
)否则该方法将返回null
。
├── Resources
│ ├── Images
│ │ └── StreetsIconSmall.png
注意:当然,需要使用BundleResource