禁用在导航窗口应用程序上刷卡

时间:2018-06-26 12:42:44

标签: ios uinavigationcontroller appcelerator-titanium

我有一个Appcelerator Titanium应用程序,该应用程序包含一个主窗口和一个TableView。 TableView中的每一行都可以打开一个不同的窗口(最多一百个不同的窗口)。主窗口和打开的窗口之间的导航是通过位于主窗口上的NavigationWindow完成的。从该主窗口打开的窗口都有自己的.js文件,并定义为CommonJS模块,如下所示:

exports.windowFuntion = function (navgroup, windowProp) {
    //window UI and logic here
};

主窗口将对NavigationWindow对象的引用传递到每个辅助窗口中。每个窗口都使用此按钮以自定义逻辑放置自己的后退按钮,如下所示:

backBtn = Ti.UI.createButton ({props});
win.leftNavButton = backBtn;

在某些窗口上,我通过处理按钮的click事件,使用此按钮对在每个窗口上输入的数据进行一些验证逻辑。但是,我们的一些用户最近报告说,他们可以离开窗口滑动,并且按钮的逻辑从不执行。我注意到其中一些窗口可以处理滑动事件并将其删除。

但是,当用户从设备屏幕的右边框滑动时,他们仍然可以从窗口中滑动。我在Appcelerator的所有文档中进行了搜索,以获取有关此行为的信息,但内容简短。似乎这是iOS中NavigationGroup的默认行为。任何人都可以阐明为什么会发生这种情况以及如何禁用这种行为吗?我想我需要使用Hyperloop并为此使用一些Cocoa Touch API,但是,有什么方法可以在Titanium的JavaScript中进行本地处理吗?我可以为此使用哪些Cocoa Touch API?

我可以在没有NavigationGroup的情况下重写导航,但是考虑到屏幕数量,这将是一项艰巨的任务。欢迎对此提供任何帮助或见识。

0 个答案:

没有答案