Sencha Touch: постукивание по маске
Привет, я не могу решить эту проблему и не могу найти способ найти метку даже на маске, если окно просмотра замаскировано. Я использую меню для навигации по слайдам, когда меню открыто, я применяю маску к представлению теперь, если я нажимаю на представление в маске, меню должно закрыться. Я не могу получить событие касания маски. Есть ли способ?
listeners: {
initialize: function(){
Ext.Viewport.setMenu(this.createMenu() ,{
side: 'left',
reveal: true,
});
}
}
},
createMenu: function(){
var items = [
{
xtype:'button',
text:'Home',
ui: 'mainmenu',
icon: 'resources/icons/setting.png',
margin: '100px 0 0 0',
listeners: {
tap: function(){
if(Ext.Viewport.getMenus().left.isHidden()){
Ext.Viewport.showMenu('left');
}
else
{
Ext.Viewport.hideMenu('left');
Ext.Viewport.setActiveItem({xtype: 'main'});
Ext.Viewport.setMasked(false);
}
}
}
},
{
xtype:'button',
text:'Videos',
ui: 'mainmenu',
icon: 'resources/icons/setting.png',
listeners: {
tap: function(){
Ext.Viewport.setActiveItem({xtype: 'videolist'});
if(Ext.Viewport.getMenus().left.isHidden()){
Ext.Viewport.showMenu('left');
}
else
{
Ext.Viewport.hideMenu('left');
Ext.Viewport.setMasked(false);
}
}
}
}
];
return Ext.create('Ext.Menu', {
width: 250,
height:'100%',
scrollable: false,
items: items,
id: 'mainmenu',
});
}
2 ответа
Добавьте это в основной контроллер, чтобы прослушать событие касания на маске
control:{
'mask': {
tap: function(){
if( !Ext.Viewport.getMenus().left.isHidden() ){
alert('Mask - Tap Event - hideMenu');
}
}
}
}
Ext.Viewport.setMenu(this.createMenu(),{
side: 'left',
reveal: false,
});
Это может помочь вам замаскировать видовой экран. и нажав на него закроет меню