2011-11-29 3 views
0

답장을 보내 주셔서 감사합니다. 어딘가에있을 것 같습니다. 나는 단순하고 단순한 새로운 관점을 창조했다. 아래를 참조하십시오 : 무엇 내가 위의 전망을 볼 것으로 예상하는 첫 번째로드와 세로에Sencha Touch : 항목을 제거한 후 방향 변경보기 등을 업데이트합니다.

var homePanelTop = new Ext.Panel({ id:'topCont', 
     cls:'topCont'  
    }); 
    var homePanelBtm = new Ext.Panel({ 
     id:'btmCont', 
     cls:'btmCont' 
    }); 


    App.views.HomeIndex = Ext.extend(Ext.Panel, { 
      id:'mainlayout', 
      fullscreen : true, 
      layout: { 
         type: 'vbox', 
         align: 'stretch', 
       }, 
       defaults:{flex:1}, 
      items: [homePanelTop, homePanelBtm], 
      suspendLayout: true, 
       monitorOrientation: true, 
       orientationchange: this.onOrientationChange, 
       onOrientationChange: function(orientation, w, h){ 
        this.suspendLayout = false; 
        if(orientation === 'portrait'){ 
          console.log('P: ' + orientation); 
           this.add(homePanelTop, true); 
          } else { 
          console.log('L: ' + orientation); 
           this.remove(homePanelTop, false); 
         } 
         this.doLayout(); 
       } 
    }); 
    Ext.reg('HomeIndex', App.views.HomeIndex); 

, 두 개의 패널, 상단 패널 (노란색)과 하부 패널 (파란색)이있을 것이다. 정상적으로 회전 할 때 나는 여전히 같은 효과를 얻습니다.

하지만 내가 가로로 돌리면 상단 패널 (노란색)이 제거되고 하단 패널 (파란색)이 나머지 공간을 채 웁니다. 내가 세로로 다시 회전 할 때

그때 나는 그들의 디자인 크기로 다시 (플렉스 : 1) 두 패널을 얻을

(크롬에서 테스트) 위의 코드를 사용하는 일이 뭐죠은 상단 패널 (노란색)에 남아 있다는 것입니다 상단하지만 약간 높이가 작고은

어쨌든 내가 가지고있는 두 개의 콘솔 추적 명령을 통지해야하며, 이러한 회전에 다음과 같은 수치 보이고있다처럼 사라지지 않습니다 첫 번째로드 후

을, 나는 다음에 회전 가로 및 출력 :

L : 풍경

L : 풍경

존재하지 않는 구성 요소를 제거하려고 시도

. Ext.Container : remove는 제거 할 구성 요소의 인수를 취합니다. cmp.remove()가 잘못 사용되었습니다.

L : landscape

존재하지 않는 구성 요소를 제거하려고 시도했습니다. Ext.Container : remove는 제거 할 구성 요소의 인수를 취합니다. cmp.remove()가 잘못 사용되었습니다.

L : 풍경

존재하지 않는 구성 요소를 제거하려고 시도

. Ext.Container : remove는 제거 할 구성 요소의 인수를 취합니다. cmp.remove()가 잘못 사용되었습니다.

을 나는 다음과 같은 출력을 얻을 세로로 다시 회전 :

L : 풍경

존재하지 않는 구성 요소를 제거하려고 시도

합니다. Ext.Container : remove는 제거 할 구성 요소의 인수를 취합니다. cmp.remove()가 잘못 사용되었습니다.

L : landscape

존재하지 않는 구성 요소를 제거하려고 시도했습니다. Ext.Container : remove는 제거 할 구성 요소의 인수 을 취합니다. cmp.remove()가 잘못 사용되었습니다.

P : 세로

P : 세로

그래서 실제로 어떤 방법 onorientationchange 기능 4 번 터집니다 lanscape에 회전에보고, 첫 번째 오류와 다른 세 괜찮습니다 첫 번째 것이 이미 제거되었으므로 경고가 무엇인지를 나는 믿는다.

인물 사진으로는 lanscape로 등록 된 두 사람, 초상화 호출로 등록 된 사람이 두 명 있습니다.

이 모든 것이 하나의 움직임으로 이루어 지므로 어떻게 든 제거 및 코드 추가가 예상대로 작동하지 않으며 회전시 네 번 호출되는 방향을 방지하는 방법이 무엇입니까 ??

사람이의 개발에 대한 아이디어 나 같은

답변

0

많은 년 후 지금까지.시를 도움을

감사에 참여 자유롭게 ... 그리고 사람이 더있는 경우 그 실수를 한단다 이것에 도움을 청합니다.

두 가지.

1) "존재하지 않는 구성 요소를 제거하려고했습니다"라는 메시지는 ExtJS 라이브러리의 "개발"버전에서만 발견되며 문제의 신뢰할 수있는 표시기라는 것을 모릅니다.

2) ExtJS 4.1x로 업그레이드 할 수있는 경우. 더 나은 디버깅 툴을 사용할 수 있습니다. 나는 특별히 'Ext JS Page Analyzer'를 생각하고있다. 이렇게하면 레이아웃 엔진이 무엇을하고 있는지 알 수 있습니다.

참조 :

+0

http://www.sencha.com/blog/optimizing-ext-js-4-1-based-applications 불행하게도 내가 엽차와 유령을 포기,하지만 난 당신의 좌절감의 일부에서 올 수있는 위치 이해하기에 충분한 ExtJS로 작업을 수행 한 피드백 –

+0

주셔서 감사했다. 그것은 분명히 다른 짐승 또는 jQuery 또는 그와 같은 다른 라이브러리입니다. – AnthonyVO

+0

예! Emberjs와 Angularjs 같은 사람으로 옮겼습니다 :-) –