Sencha 触摸变换(缩放)面板在拖动启动时重置变换

Sencha touch transform (scaling) a panel resets the transform on dragstart

本文关键字:变换 启动 拖动 触摸 缩放 Sencha      更新时间:2023-09-26

我正在尝试使用 Sencha Touch 2 构建一个可缩放的面板,类似于这个但是,在我应用变换比例后,例如(假设"mapcontainer"是我需要捏合缩放的元素):

Ext.getCmp('mapcontainer').setStyle({
    'transform':        'scale(2)',
    '-ms-transform':    'scale(2)',
    '-webkit-transform':'scale(2)'
});

并拖动启动,元素上的刻度将重置为 1。

作为更多信息,我尝试在所有其他事件(包括 dragstart)上返回 false。但它似乎并没有保持规模。

知道为什么吗?

想出了解决方案,而不是原因。(有人吗?

基本上,我放大了容器,但没有增加它的宽度和高度。

所以,最后代码看起来像:

Ext.getCmp('mapcontainer').setHtml("Hello");
Ext.getCmp('mapcontainer').setStyle({
    'transform':        'scale(2)',
    '-ms-transform':    'scale(2)',
    '-webkit-transform':'scale(2)'
});
Ext.getCmp('mapcontainer').setHeight('200%');
Ext.getCmp('mapcontainer').setWidth('200%');

请注意,我们需要执行 setHeight 和 setWidth 而不是在 setStyle 中使用它们,因为这些配置值会覆盖使用 CSS 设置的值。