【问题标题】:Building Native View using iOS module and using them in Titanium使用 iOS 模块构建 Native View 并在 Titanium 中使用它们
【发布时间】:2012-05-15 20:24:44
【问题描述】:

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

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

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

【问题讨论】:

    标签: titanium appcelerator titanium-mobile appcelerator-mobile titanium-modules


    【解决方案1】:

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

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

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

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

    一旦您掌握了这些信息,并且可以做出简单的看法,您就可以开始下一步来解决您的问题了。您需要将您的 XIB 转换为 NIB。最简单的方法是将XIB添加到本机项目,编译项目,然后拉出NIB。将其转储到模块的资产中,然后从模块代码中引用它。不幸的是,我没有任何使用 NIB 链接的公共资源,但我可以向您展示一个 sn-p。 (我们维护的许多模块都使用这种方法,所以我知道你可以成功地让它工作!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,除非我们有来自第三方的强制要求。以命令方式创建视图比以声明方式创建视图更容易。

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

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

    【讨论】:

    • ,谢谢你的回答,正如你所说的convert your XIB to NIB,这里我不只是创建一个xib文件。我正在使用 .h、.m 和 .xib 文件添加整个 UIViewController。如果我想在我的钛项目中添加一个带有视图的功能,那么我将添加一个带有 .xib 的 viewController。
    • 嗨,Dawson,我还在为原生模块开发而苦苦挣扎,我在非可视数据方面取得了成功,但是在从原生模块创建视图时,我仍然一头雾水..你能帮帮我吗任何教程。
    • 你浏览过公共模块吗? -- github.com/appcelerator/titanium_modules -- QuickLook、PageFlip、Tandem Scroll、Styled Label、Paint、Columns、Charts 等都有可视化组件。
    • 谢谢,我会看透的。如果有什么问题,我会和你联系。:)
    • 我浏览了模块列表,甚至你的绘图模块。我非常了解 ios 代码,但我仍然对它和钛的链接感到困惑。可能是我遗漏了一些东西。如果你能分享一个包含小而关键细节的教程,那就太好了。
    猜你喜欢
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多