标签: sencha-touch

决定使用正确的iOS Mobile Safari Web开发工具(jQuery Mobile/Sencha Touch/etc)的挫败感

在使用Backbone JS和jQuery Mobile为iPad Mobile Safari完成一个项目之后,让我觉得jQuery Mobile可能不是那个特定工作的合适工具.

我发现jQuery Mobile的性能一般都令人失望.许多移动JS框架(处理转换,对话框等)似乎都受到同样的影响.让jQuery Mobile和Backbone JS很好地协同工作似乎有点混乱.

我需要像jQuery Mobile这样的东西来处理拖放元素和页面转换(以及对话框).Backbone JS非常适合我们正在做的事情,因此我们希望将其保留在工具箱中.我们只针对iPhone和iPad进行项目,并且在本例中使用Objective-C本身做这些项目是不合适的.

最近完成的项目最终使用了jQuery,jQuery Mobile,jQuery UI,一些小插件,使jQuery UI与触摸,Backbone JS,Underscore JS一起工作......对于手机上的网络应用来说,这一切看起来都很重要!我想要一些功能强大且尺寸更小的东西

Sencha Touch似乎有很好的表现,但似乎你需要首先跳入它并完全按照它的工作原理.但也许我错了?我正在寻找一些与Backbone搭配不错的东西,它相对轻巧,并且有很多用于为iPhone/iPad构建精美UI的位(手势支持,页面/对话框转换,列表视图等).理想情况下,更像jQuery的东西 - 我称之为在DOM上执行这些操作并在我们不需要它时保持不变 - 而不是它是一个支配框架并且必须遵循它的规则(比如jQuery)移动,最有可能是Sencha Touch).还看到了jQTouch ......但现在这已经被Sencha接管了,这意味着它已经死了?

这有什么作用吗?轻量级,稳定,快速和可靠的东西,我们可以与Backbone JS一起使用,为Mobile Safari创建快速,响应迅速的Web应用程序...仍然具有所有有用的UI和转换等功能,可以让应用程序大放异彩?

javascript mobile-safari javascript-framework sencha-touch jquery-mobile

13
推荐指数
2
解决办法
2769
查看次数

Sencha Touch Vs Backbone.js

Sencha Touch和Backbone.js的基本区别是什么,实际上已经在backbone.js中构建了一个项目但却没有意识到Sencha Touch.我必须构建一个PhoneGap应用程序哪一个更好?

javascript sencha-touch backbone.js cordova

13
推荐指数
2
解决办法
9116
查看次数

Sencha touch2和PhoneGap之间原生包装的区别

Sencha touch2和PhoneGap之间的原生包装有什么区别?

许多人使用PhoneGap本机打包基于Sencha touch的app,但我发现Sencha touch 2具有原生包装的新功能.

那么哪种类型的本机包在性能,可伸缩性,功能性,成熟度等方面更好?

你怎么选择?

packager ios sencha-touch sencha-touch-2 cordova

13
推荐指数
1
解决办法
5189
查看次数

Uncaught InvalidValueError:setMap:不是Map的实例

当我使用sencha touch2.2.1时,我遇到了一个问题.在观众中:

items: [{
    id: 'mapCanvas',
    xtype:'map',
    useCurrentLocation: true,
}]
Run Code Online (Sandbox Code Playgroud)

在控制器中:

var map= Ext.getCmp('mapCanvas');
console.dir(map);
var marker= new google.maps.Marker({
                position: new google.maps.LatLng(25,118),
            });
marker.setMap(map);
Run Code Online (Sandbox Code Playgroud)

报告错误:

Uncaught InvalidValueError:setMap:不是Map的实例,而不是StreetViewPanorama的实例

我可以看到地图,但我看不到标记,以及如何解决问题?

google-maps sencha-touch

13
推荐指数
3
解决办法
4万
查看次数

Sencha Touch - 取消选择列表项?

我正在研究Sencha Touch应用程序,并有一个联系人列表.当点击列表项时,会显示一个ActionSheet,显示一些基本功能(如调用,删除和忽略).不幸的是,当用户点击并触发ActionSheet时,List项目仍然在叠加层下面被选中(参见下面的屏幕截图):

iOS模拟器的屏幕截图

这是绑定到itemTap事件的函数:

itemTap: function(list, index)
{
    // Deselect the selected record:
    var currentRecord = list.getStore().getAt(index);
    currentRecord.forename      = currentRecord.get('forename');
    currentRecord.surname       = currentRecord.get('surname');
    currentRecord.phoneNumber   = currentRecord.get('phoneNumber');
    currentRecord.shortFullName = currentRecord.forename + ' ' +  currentRecord.surname[0];

    list.getStore().deselect(index, true);

    callButton.setText('Call ' + currentRecord.shortFullName + ' (' + currentRecord.phoneNumber + ')');
    unfriendButton.setText('Remove ' + currentRecord.shortFullName + ' as friend');
    friendActionSheet.show();
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,list.getStore().deselect(index, true)返回以下错误:Object [object Object] has no method 'deselect'

关于我可能做错了什么的想法,或者我如何能做到这一点?

javascript sencha-touch

12
推荐指数
2
解决办法
1万
查看次数

如何在Javascript/Sencha中听键盘打开/关闭?

我有一个HTML5/Javascript(Sencha)应用程序,我已经在XCode中打包到PhoneGap for iOS中.无论如何,我希望能够听取键盘打开/关闭事件并做相应的事情.有没有办法做到这一点?

javascript keyboard-events ios sencha-touch

12
推荐指数
3
解决办法
3万
查看次数

如何使用PhoneGap API保存用户登录凭据?

我想在我的iPhone应用程序中保存用户登录凭据,该应用程序是使用PhoneGap和SenchaTouch API构建的.如果用户通过App登录,我想保存他的userId/Password,除非他专门注销.每次他使用应用程序并添加到用户体验时,这将使他免于登录过程.

任何形式的帮助将不胜感激.

谢谢

iphone autologin sencha-touch cordova

12
推荐指数
1
解决办法
2万
查看次数

在Sencha Touch selectfield中填充图标

我有一个非常简单的问题,其解决方案结果并非如此简单.
我想 a 的每个选项前面添加图像selectfield.为了更准确,我想将图像添加到pickerit触发器,还要添加到selectfield的当前值.
为了简单起见,我将创建一个小例子:

比方说,你希望用户在钻石,心形,黑桃和俱乐部这四种扑克牌套装中选择一种.要支持视觉识别,您需要在每个套装名称前面添加相应的符号,因此它看起来像这样:
Selectfield带有图标

我首选的一个sencha触摸组件,可以自然地从一组给定的选项中进行选择selectfield.不幸的是,它似乎只能显示纯文本,仅此而已.在深入了解sencha触摸源之后,我终于提出了半个解决方案.基本上,我传递了selectfield一个自定义defaultPhonePickerConfig,其中相应的picker(用于selectfield显示选项)用于分配自定义itemTpl.在itemTpl没有休息,也就是增加了一些HTML来显示图像:

defaultPhonePickerConfig: {
    listeners: {
        initialize: function() {
            var slots = this.query('pickerslot');
            Ext.each(slots, function(slot) {
                slot.setItemTpl('<img src="someImage.jpg"> {text}');
            });

        },

        change: function() {
            // reconstruct the selectfield's change handler,
            // since it gets overwritten
            var iconSelect = Ext.Viewport.query('#IconSelect')[0];
            iconSelect.onPickerChange.apply(iconSelect, arguments);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这个解决方案的工作小提琴可以在这里找到.

我的解决方案并不是那么糟糕,但是有一个轻微的cosmetical问题,这对我来说是不可接受的:图标只显示在 …

javascript html5 extjs sencha-touch sencha-touch-2

12
推荐指数
1
解决办法
2835
查看次数

在Ext.DataView中显示商店的有限子集(或单个记录)

在Sencha Touch中,我经常需要一个Ext.DataView面板,它包含一个小的子集记录,甚至是商店中集合中的一条记录.

例如,我可能有一个模型Car,它的app.stores.cars商店里有成千上万的汽车记录,但我想在我的listOfSportsCars中显示这些项目的较小子集(比如说; 只是跑车),DataView同时还在我的listOfCars中显示更大的完整汽车组DataView.

我的第一个想法是使用多个商店.所以我有一个主要商店用于所有汽车的大清单,第二个商店有一个过滤器用于我的运动车子集.但是,现在从一个商店更新模型不会自动更新另一个商店中的记录,因此这会破坏使用DataView的目的,因为更新记录时更改不会在页面中的任何位置更新.

我的第二次尝试是覆盖collectData的数据视图,这听起来方法究竟喜欢什么我是后:

var card = new Ext.DataView({
    store: app.stores.cars,
    collectData: function(records, startIndex){
        // map over the records and collect just the ones we want
        var r = [];
        for( var i=0; i<records.length; i++ )
            if( records[i].data.is_sports_car )
                r.push( this.prepareData(records[i].data, 0, records[i]) );
            return r;
    },
    tpl: new Ext.XTemplate([
            '<tpl for=".">',
                  '<div class="car">{name}</div>',
            '</tpl>'
    ]),
    itemSelector: 'div.car'
});
Run Code Online (Sandbox Code Playgroud)

完整的例子可以发现在这里 …

extjs sencha-touch

11
推荐指数
1
解决办法
6690
查看次数

使用Sass/Compass的多个背景图像

以下使用sass/compass生成base64内联图像:

background-image:inline-image("paper.jpg", 'image/jpg');
Run Code Online (Sandbox Code Playgroud)

有没有办法做多个背景图像,或者我必须自己预压缩才能做到这一点?

谢谢.

base64 sass css3 sencha-touch compass-sass

11
推荐指数
1
解决办法
7362
查看次数