1

기본보기 위에 3 개의 (로더, 사물함 및 디버그보기) 숨겨진보기 (touchEnabled 및 표시가 false로 설정되고 zIndex가 1로 설정 됨)가 있습니다. (zIndex = 2).보이는 속성을 변경하면 때때로보기의 중심 위치가 바뀝니다 (버그 일 수 있습니다)

$.debugView.show = function() { 

    $.debugView.touchEnabled = $.debugView.visible = true; 

    $.debugView.zIndex = 3; 
}; 

$.debugView.hide = function() { 

    $.debugView.touchEnabled = $.debugView.visible = false; 

    $.debugView.zIndex = 1; 
}; 

이 화면이 숨겨진 전망 '을 통해'3 : 이제

enter image description here

, 나는 '디버그 뷰를 열고있어 각 뷰는이 방법이 있습니다'를 통해 '

',하지만 가끔 위치가 바뀌는 것처럼 보입니다 (중앙의 경우와 같이 기기의 중심 대신 왼쪽 상단에있는 것처럼). 대신 필요한 결과

enter image description here

:

enter image description here

내가 불투명도 대신 visible 속성을 사용하는 경우, 그것은 제대로 작동합니다.

이것은 SDK 버그 일 수 있습니다. 나는 완전히 다른 구현과도이 문제를 발견했습니다

답변

2

<Alloy> 
    <Window> 
     <View id="content"/> 
     <View id="locker"/> 
     <View id="loader"/> 
     <View id="debugView"/> 
    </Window> 
</Alloy> 

이 4 뷰의 모든

폭 또는 높이가없는 (그래서 기본값으로 Ti.UI.FILL를 사용). 나는 창에 하나의 견해만을 포함했다.

숨겨진 요소가있는 경우 왼쪽 및 위쪽 계산이 제대로 수행되지 않은 것 같습니다. 나는이 문제를 해결하기 위해 무슨 짓을

사용하여 왼쪽 위치를 계산하여 좌/상단 위치를 하드 코딩하는이 : 내 경우 75에서 요소가있는 폭

$.content.left = (Ti.Platform.displayCaps.platformWidth - 75)/2; 

, 즉거야 그래서 당신의 경우에는 더 커야합니다. 너는 높이에 대해서도 똑같이 할 수있다.

이제 iOS 전용 솔루션입니다. Android에서는 DPI를 고려하여 계산해야합니다.

나는이 솔루션이 완벽하게 작동하지만 버그라고 생각합니다. JIRA을보고 문제가 알려진 문제인지 확인하고 그렇지 않은 경우 문제의 매우 구체적인 설명과 함께 제기하십시오. 가능한 한 재현 가능한 사례를 앱으로 전달하는 것이 좋습니다. 클래식이 가장 도움이 될 것입니다. 고전적으로 재현 할 수 없다면 합금 문제 일 수 있습니다.

+0

감사합니다. @ Ren Pot! 필자의 경우, 크기 계산을 피하기 위해 불투명도를 계속 사용할 것이고, JIRA 티켓을 생성 할 수있는 방법이 될 것입니다. –

+1

FYI : https://jira.appcelerator.org/browse/AC-4706. 거기에 답을 붙여 넣었습니다. 괜찮습니까? –

+0

굉장하고 문제 없습니다. –

관련 문제