Kru*_*lur 10 monodevelop xamarin.ios
在我的应用程序中,所有图像,本地HTML页面等都标记为"构建操作内容".我刚刚意识到还有"资源".
我应该将哪一个用于图像,哪一个用于HTML页面在UIWebView中显示?
目前我使用这样的图像:
this.oImgLoginLogo.Image = UIImage.FromFile ( "Data/Images/ball.png" );
Run Code Online (Sandbox Code Playgroud)
但在Monotouch.Dialog中我看到这一行:
static UIImage arrow = Util.FromResource (null, "arrow.png");
Run Code Online (Sandbox Code Playgroud)
但是arrow.png也被标记为"内容"......?
困惑.
每种选择的不利/优势是什么?
嵌入式资源嵌入到dll或exe文件中,可从.NET反射API访问.内容文件是捆绑资源,并被复制到应用程序包(只是一个目录),并可使用文件API或MonoTouch的Apple捆绑API进行访问.
MonoTouch确实支持嵌入式资源,但它们并非直接使用Apple特定的API,这些API旨在使用应用程序包中的内容.但是,当您不处理特定于MonoTouch的API时,或者当您编写可移植到其他平台的库时,嵌入式资源可能更有意义.
MonoTouch 4.0+支持dll库中的内容文件 - 在编译库时,它们会被嵌入到嵌入式资源中,因此您可以将其作为单个dll文件共享,然后在应用程序包中将它们解压缩到应用程序包中编译.
我的猜测是MonoTouch.Dialog使用嵌入式资源而不是捆绑资源,因为它是一个库并且早于MonoTouch 4,因此标记为Content的文件是项目中的错误.
在 .NET 世界中,不同之处在于,在构建过程中,标记为内容的文件被复制到输出文件夹,而资源文件则成为 DLL 本身的一部分。
AFAIK,MonoTouch 不会将资源包含到构建中,因为 iOS 中不存在资源,因此这就是您始终使用 Content 的原因。最后一步是将包含可执行文件和内容文件的目录压缩到 .app 文件中,这正是 iOS 所期望的。同样的事情也适用于 MonoDroid。
MonoTouch 和 MonoDroid 之间存在 API 差异,因为这些框架的理念是几乎一对一地转换这些平台中可用的 API,而不是创建一个同等支持所有平台的界面。
归档时间: |
|
查看次数: |
3520 次 |
最近记录: |