2013-09-25 2 views

답변

1

주요 해킹에 대한 준비 ?

function realMaximize(){ 
    if(this.maxInternal){ 
     return; 
    } 
    if(this.maximized){ 
     this.oldMaxHeight = this.maxHeight; 
     this.maxHeight = undefined; 
     this.maxInternal = true; 
     this.restore(); 
     this.maximize(); 
     this.maxInternal = false; 
    }else{ 
     this.maxHeight = this.oldMaxHeight; 
    } 
} 

Ext.onReady(function() { 
    var w = Ext.create('Ext.window.Window',{ 
     title: 'Hello', 
     maximizable: true, 
     width: 400, 
     height: 300, 
     maxHeight: 350 
    }); 
    w.addListener('maximize',realMaximize); 
    w.show(); 
}); 

우! 끔찍해. 그것은 무엇을합니까? 최대화가 감지되면 현재 최대 높이를 저장하고 제거합니다. 그런 다음 UI가이 새로운 최대 값을 존중하도록 업데이트되도록 최대화를 토글합니다 (더 좋은 방법이있을 수 있습니다). 마지막으로 플래그를 설정하고 확인해야합니다. 그렇지 않으면 무한 루프가됩니다 (maximize이 함수를 다시 호출합니다).

창으로 돌아가는 것은 그리 어렵지 않습니다. 기억 된 크기는 OK 여야하므로 재귀 적으로 함수를 호출 할 필요가 없습니다.

+0

fiddle : http://jsfiddle.net/zbyHY/1/ – Dave

+0

누군가가 창 크기 조정을 시뮬레이트하는 방법을 알고 있거나 다른 방법으로 크기 업데이트를 트리거하는 경우이 방법을 훨씬 더 명확하게 만들 수 있습니다. – Dave

+0

Sencha에이 문제 (maxHeight/maximize)를보고해야한다고 생각하십니까? 또는 (좋은) 기능입니까? (maxHeight break maximize)? –

관련 문제