繁体   English   中英

什么是打开钛制燃烧器窗口的正确方法?

[英]What is the right way to open titanium appcelerator windows?

我正在使用Titanium Appcelerator iOS应用程序,该应用程序包含一个初始的“仪表板”屏幕和两个可以从“仪表板”访问的独立屏幕。

我已经将我的应用程序设置为使用导航控制器,并且使用自定义事件侦听器从main.js文件控制所有内容。 我这样做是为了将每个屏幕的代码分成单独的文件。

问题在于,每次加载屏幕时,我都必须打开导航堆栈上的窗口,然后向其中添加所有元素。 这对于其中一个屏幕来说很好,因为它仅包含一些视图和标签。 但是,另一个屏幕具有MapView,在用户看到屏幕打开后需要3秒钟左右的时间来加载。

什么是正确的处理方式? 有没有一种方法可以在打开窗口之前预加载窗口,但保留当前的体系结构?

我问这个问题在一个更加混乱的和具体的方式, 在这里 ,但我认为,这个普遍的问题是适用于更多的人,因为我现在用的建筑风格是相当普遍的。

我认为您的方法相当典型……不幸的是,我不知道有什么方法可以预加载窗口的内容。 您可以通过包含地图画布的静态图像来改善加载地图视图时的用户体验(以相同的方式,Apple UI指南建议Default.png作为应用程序本身基本界面的图像,以给人留下深刻印象它正在快速加载)。 您还可以添加Ti.UI.ActivityIndicator形式的加载微调器。 默认情况下,这两个都可以添加到窗口中,然后在您在地图视图的load事件上显示地图时隐藏。 我认为他们可能会帮助您减少等待3秒的痛苦。

我在您的另一篇文章中注意到,即使您没有主动获取用户的GPS位置,您仍然观察到地图加载仍需要很长时间。 如果为true,则可以通过在应用启动时立即获取位置,然后使用您正在使用的自定义事件将其传递到地图窗口中来节省一些时间,因此可以直接在用户的位置上初始化地图,而不是比一个虚拟位置。

对于我开始使用https://github.com/vuinguyen/NavController的导航控制器

对于ios / android来说效果很好,并且git代码简单明了且易于遵循。 它是凯文·惠纳里(Kevin Whinnery)不久前推出的增强版。 我一直在3.0中使用它,没有任何特别的抱怨。 我已经添加了抑制本机ios导航标题的功能,但除此之外,它还可以直接使用。

我不认为使用完全相同的体系结构。 最初加载应用程序后,您可以在一个窗口中加载所有视图,而不是使用多个窗口。 然后,通过更改zIndexes来修改当前显示的内容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM