gpt4 book ai didi

titanium - 使用 iOS 模块构建 Native View 并在 Titanium 中使用它们

转载 作者:行者123 更新时间:2023-12-03 22:21:52 24 4
gpt4 key购买 nike

我想构建一个 iOS 模块,其中有一个带有 .xib 文件的 viewController 类。现在的问题是如何从我的钛代码中调用该 View 。我知道有可用的 View 代理,但由于文档不太好,我不知道如何使用它们。

到目前为止,我已经创建了一个可以传递非图形数据的模块,但是如何从我的模块中获取 View Controller 。

我已经检查了 appcelerator wiki,但这没有帮助任何指导我的教程都会有所帮助

最佳答案

查看 iOS 的 mod 开发指南中的 TiModdevguideDemoView.h/m 和 TiModdevguideDemoViewProxy.h/m:

https://github.com/appcelerator/titanium_modules/tree/master/moddevguide/mobile/ios/Classes

它简单地演示了 View 和 View 代理之间的关系。在这种情况下,它是一个正方形。

你可以在这里看到它在 JavaScript 中的使用:
https://github.com/appcelerator/titanium_modules/blob/master/moddevguide/mobile/ios/example/demos/viewproxyDemo.js

一旦你掌握了这些,并且可以做出一个简单的看法,你就可以采取下一步来解决你的问题了。您需要将您的 XIB 转换为 NIB。最简单的方法是将XIB添加到 native 项目,编译项目,然后拉出NIB。将其转储到模块的 Assets 中,然后从模块代码中引用它。不幸的是,我没有任何使用 NIB 链接的公共(public)资源,但我可以向您展示一个片段。 (我们维护的许多模块都使用这种方法,所以我知道你可以成功地让它工作!Jira、Gigya、Urban Airship 等。)

NSBundle* bndl = [NSBundle bundleWithPath:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"ti.jira/1.0/assets/JMC.bundle"]];
JMCSketchViewController *sketchViewController = [[[JMCSketchViewController alloc] initWithNibName:@"JMCSketchViewController" bundle:bndl] autorelease];

请注意,我们通常不使用 NIB,除非我们有来自第三方的东西迫使我们这样做。以命令方式创建 View 比以声明方式创建 View 更容易。

您可以在我们的 iOS 模组开发指南中阅读更多关于 View 和 View 代理的信息。一旦您理解了我在 mod 开发指南中链接的内容(并成功创建了您自己的),mod 开发指南将对您更有用。 (顺便说一下,我对指南进行了一些更新,这将使其更容易理解)。 http://docs.appcelerator.com/titanium/2.0/index.html#!/guide/iOS_Module_Development_Guide

希望这可以帮助。如果有什么我可以进一步充实的,请告诉我。您需要克服一点理解障碍,但是一旦您投入了一些精力,您将全速进行模块开发。

关于titanium - 使用 iOS 模块构建 Native View 并在 Titanium 中使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10480211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com