2015-01-12 4 views
0

상단, 중간 또는 하단 정렬과 같이 라이브 코드의 레이블 텍스트를 세로로 정렬하려고합니다.라이브 코드의 세로 정렬

---------------------------------- 
    |   top text    | 
    |         | 
    |         | 
    --------------------------------- 

    --------------------------------- 
    |         | 
    |   middle text   | 
    |         | 
    --------------------------------- 

    --------------------------------- 
    |         | 
    |         | 
    |   bottom text   | 
    --------------------------------- 

어떤 방법이 있습니까? 없다면 대체 방법이 있습니까?

답변

0

는 불행하게도 속성 창에서 옵션이 없습니다하지만 당신은 위쪽 여백에 대한

set the topMargin of field theField to (round(((the height of field theField - the formattedHeight of field theField)/2)) + the topMargin of field theField) 

예처럼 간단한 스크립트를 사용하여이 작업을 수행 할 수

업데이트 :

: 위쪽 여백에 대한 가장 쉬운 예
set the topMargin of field theField to 0 

그런 다음 상단에서 원하는 값으로 0을 조정하십시오. 글꼴 크기 정도.

중간에 대해 나는

set the topMargin of field theField to (the height of field theField/2) 

같은 것을 사용하십시오 어쩌면 너무에서 글꼴 크기를 감안하여이를 조정할 수 있습니다.

+0

코드를 사용해 보았습니다. 텍스트가 buttom에 표시됩니다. 어떻게 가운데 맞춤/상단 맞춤을 할 수 있습니까? – Mai

+0

작동했지만 텍스트가 실제로 중앙에 있지 않습니다. 나는 당신의 제안을 편집하고 이것을 시도했다.'theField 필드의 topMargin을 (필드 theField/2의 높이) - (fieldField/2의 텍스트 크기)'로 설정했다. 상단 맞춤에서는 텍스트의 절반 만 보여줍니다. – Mai

1

설명대로 레이블 텍스트의 위치를 ​​자동으로 지정할 수있는 기본 제공 방법이 없습니다. 그러나 필드의 텍스트 서식 지정 속성이 필요하지 않으면 단추를 레이블로 사용하면 텍스트를 자동으로 가운데 맞춤 할 수있는 기본 기능이 있으므로 사용자의 요구에 더 잘 부합 할 수 있습니다.

다음과 같은 것이 가장 좋습니다. 단추에 직접 스크립트를 붙여 넣은 다음 "updateMyTextAlignment < 값 >"을 "top", "middle"또는 "bottom"값의 단추로 보낼 수 있습니다. 그러나 스택에 여러 개의 사용자 정의 레이블이 있다고 가정하면 모든 레이블 단추에 다음과 같은 동작을 적용하는 것이 더 좋은 옵션입니다.

command updateMyTextAlignment pValue 
    put effective textSize of me into TS 
    put effective textHeight of me into TH 
    switch pValue 
     case "top" 
     set topMargin of me to -(height of me) + TS + TH 
     break 
     case "middle" 
     set topMargin of me to 0 -- may need to adjust this amount 
     break 
     case "bottom" 
     set topMargin of me to height of me - TS - TH 
    end switch 
end updateMyTextAlignment 
+0

당신의 코드를 시도했지만 에러가 발생했습니다. '객체 :이 속성을 설정할 수 없습니다 ' 이 스크립트를'updateMyTextAlignment "상단에 넣습니다." 오류는'set topMargin of me to - + TS + TH' 이것은 중간과 하단을 선택할 때도 발생합니다. – Mai

+0

6.7 및 7.0에서 테스트 한 코드는 작성한대로 updateMyTextAlignment "top"을 사용하여 두 버전 모두에서 잘 작동합니다. 여기에서 직접 스크립트를 복사하면 다시 입력하는 것과는 대조적으로 스크립트가 작동합니다. –