2011-08-21 146 views
0

我正在嘗試使用ActionSheet向用戶展示幾個選項以繼續。我想在屏幕中間添加一個簡單的文本框來向用戶描述問題。
有沒有一個簡單/標準的方式來在Sencha-Touch中提供這樣的提示?sencha-touch using ActionSheet

回答

2

你需要做這樣的事情在你的覆蓋...

if (!this.popup) { 
    this.popup = new Ext.Panel({ 
    hideOnMaskTap: false, 
    floating: true, 
    modal: true, 
    centered: true, 
    hideOnMaskTap: false, 
    width: 300, 
    height: 200, 
    styleHtmlContent: true, 
    scroll: 'vertical', 
    html: '<p>msg here</p>' 
    }); 
} 
this.popup.show('pop'); 

這裏的關鍵是hideOnMaskTap: false,這將防止疊加的,當你點擊它的遮蓋區域消失。

然後,您可以顯示您的操作表,但是您必須記住隱藏操作表按鈕的處理程序中的覆蓋圖,因爲當您在蒙版區域點擊時不會消失。

if (!this.actions) { 
    this.actions = new Ext.ActionSheet({ 
    items: [{ 
     text: 'decline', 
     ui: 'decline', 
     handler: function() { 
     this.doWhateverYouNeedToDo(); 
     this.actions.hide(); 
     this.popup.hide(); 
     } 
    }, { 
     text: 'save', 
     handler: function() { 
     this.doWhateverYouNeedToDo(); 
     this.actions.hide(); 
     this.popup.hide(); 
     } 
    }, { 
     text: 'cancel', 
     scope: this, 
     handler: function() { 
     this.doWhateverYouNeedToDo(); 
     this.actions.hide(); 
     this.popup.hide(); 
     } 
    }] 
    }); 
} 
this.actions.show(); 

記在紙張處理疊加的隱藏..(我不這樣做上述但你更可能要摧毀覆蓋和動作片,他們都隱藏後也只是以保持潮流)

+0

謝謝,那正是我一直在尋找的。 –

+0

謝謝..我投票了 –

0

您可以使用Overlay彈出窗口在ActionSheet呈現後顯示消息。

+0

我嘗試使用覆蓋,但它偷走了ActionSheet的焦點,當我第一次點擊其中一個按鈕時,疊加層消失,並且點擊處理程序未被調用,直到第二次點擊。 –