问题标签 [appcelerator-alloy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
appcelerator - Appcelerator Titanium - 带有登录屏幕的跨平台导航控件
到现在为止,在使用我的应用程序时,我一直在使用自使用 Titanium 经典项目以来的导航控制库(当我开始编写 Alloy 应用程序时就随身携带了它)。
我查看了员工目录源,并看到了另一种(类似但)有趣的方法来以更“合金”的方式编写跨平台导航。控制器位于index.xml视图和index.js控制器中的逻辑,而应用程序实际上在不同的目录控制器和视图中启动。
我不得不说,这种方式比我的遗留代码更干净。
但是我的遗留代码中确实有一件我现在需要构建的应用程序的一部分是登录屏幕。我在代码中所做的是检查用户是否已登录,如果是,我打开的第一个窗口是登录屏幕,否则如果用户已登录,我打开主应用程序。
在此示例中,主窗口设置在视图本身中:
我的困境是如何在用户未登录的情况下打开登录名。我考虑在主窗口视图中移动该登录名,如果用户未登录,则需要登录控制器,它将返回一个视图整个屏幕并将该视图添加到屏幕。用户登录后,删除该视图。
我正在寻找的解决方案不应该影响应用程序的性能,并且我试图避免在用户第一次打开应用程序时向用户显示一些“闪烁”(登录的背景图像与启动画面)。所以用户不应该看到主应用程序的白色背景,然后登录加载。
在这种情况下正确的答案是什么(即使以我的旧代码导航控制器为代价)?
android - 合金listView android - 滚动时动态数据消失
创建了一个基础listView
来测试它。ios 版本按预期工作。在 genymotion android 模拟器上,滚动时,绑定的动态数据会被空白/null 覆盖。这可以使用此处列出的通用合金测试应用程序上的要点轻松演示。只需将代码添加到相应的index.*
文件中。您需要目录moment.js
中的最新版本/lib
。
为什么会被覆盖?我怀疑这与如何listView
重用组件有关。我如何解决它?
谢谢。
ios - Titanium Appcelerator合金项目中的奇怪事件冒泡问题
我正在开发 iOS 9.2 SDK 和 Titannium SDK v5.1.2.GA。
在我的 iPad 应用程序中;有一个产品标签页,其中有一个“折扣”按钮。当你点击它时,一个带有 TextField 和 Picker 的 Popover 显示如下:
以上是动态创建的。(不使用控制器+视图)。
这按预期工作。alloy.js
我想通过在一个名为的全局数组变量中记录产品的给定折扣来进一步扩展这一点Alloy.Globals.ProductDiscounts = [];
(以便以后可以使用)。
我“捕获”新折扣价的方式是通过收听选择器上的“隐藏”事件。然后更新全局数组。
出于调试目的,我添加了一个控制台日志以确保它被正确记录,然后在 Appcelerator Studio 控制台窗口中,我开始看到这个无休止的输出,如下所示:
我不得不杀死模拟器来阻止这种奇怪的空值恒定输出。
到目前为止,这是我的代码,知道为什么控制台窗口会闪烁吗?另外,为什么我的全局数组没有设置?还是设置好了,但我错过了实际的 console.log 条目?
appcelerator - Appcelerator - 同一控制器的不同 xml
同一控制器是否可以有一个xml
用于 iOS 和一个xml
用于 Android?
例如:
我有 que 控制器:UIPhoto.js
我想有2个不同xml
的tss
文件:UIPhoto-iOS.xml
和UIPhoto-Android.xml
并在设备为 iOS 或 Android 时分别充电。
谢谢你。
titanium - Detecting elements boundaries on Alloy
My onClick event seems to not be firing, I have a button inside a <ScrollView>
, and it does not give me any response, so I was wondering if there is a way to track which object was clicked so I could do the styling to make my buttons clickable again.
The Function:
appcelerator - Appcelerator Titanium - 不要将图像拉伸到 ImageView 尺寸
我有一个大小为 1024x1024 的图像,我想将它作为一个ImageView
对象作为背景。我已将ImageView
高度和宽度设置为设备的大小并加载图像 - 发生的情况是图像显示整个图像被压缩到给定尺寸。
我想看到的不是整个图像-我希望它缩放以显示居中,并且不适合屏幕的图像部分不显示。我的最终结果应该是设置高度和宽度,任何一次性的都会溢出和隐藏。
如何设置图像不拉伸?
appcelerator - 钛合金控制器与 Appcelerator App Designer 一起使用?
我在 appcelerator studio 中创建了一个示例合金应用程序。在控制器(.js)中设计的 UI不是在xml中。那么如何将 appcelerator 应用程序设计器用于合金控制器(.js)。
backbone.js - 合金模型什么时候初始化?
我确信合金集合在模型之前首先被初始化。但我不确定这个初始化什么时候开始。
- 是在运行alloy.js、index.js 或其他一些.js 文件之后吗?
- 是在第一个窗口打开之前还是之后?
- 有没有办法强制调用初始化过程,所以我可以确保初始化发生在 index.js 的开头?
ios - onClick 在 iOS 上不适用于 Appcelerator Alloy 应用程序中的 SVG
我正在使用这个小部件在我的 Titanium Alloy 应用程序中显示 SVG:
https://github.com/appcelerator-services/VectorImage
SVG 显示得很好,但是当我在 iOS 上点击 SVG 时不会触发 onClick 事件。Onclick 确实适用于 Android。我尝试将 onClick 应用于小部件本身以及将其应用于包含元素。我可以单击包含元素,但不能单击 SVG。
是否有更好的小部件来显示 SVG,或者我在应用 onclick 时做错了什么?