[AS3] TextField 길이를 벗어나는 글자는 ...으로

Programming/ActionScript 3.0 2007. 8. 16. 03:13
이 클래스는 인수로 지정한 TextField의 width길이보다 text 내용이 길어질 경우에 뒤에 임의로 "..."을 append 하는 클래스다. static 메소드 형태로 만들려다가 동적으로 TextField의 width 값을 변경할 경우에도 편하게 사용할 수 있도록 만들었다. 실제적으로 동적으로 사이즈를 변경해야 하는 경우가 많지는 않겠지만 브라우저의 사이즈에 따라 유동적으로 TextField의 길이를 변경해야 할 경우에는 유용하게 사용할 수 있을 듯싶다.

아래는 위 클래스를 이용하여 동적으로 TextField의 사이즈를 변경하는 예이다.









아래는 클래스 소스 원본
package jasu.display{
        import flash.text.TextField;
        public class CutTextField {
                private var _tf:TextField;
                private var _t:String;
                public function CutTextField(tf:TextField):void {
                        _tf = tf;
                        _t = tf.text;
                        cutText();
                }
                public function cutText():void {
                        if (_tf.maxScrollH > 0) {
                                _tf.appendText("...");
                                while (_tf.maxScrollH > 0) {
                                        var str:Array=_tf.text.split("");
                                        var len:int = str.length;
                                        str.splice(len - 4,1);
                                        _tf.text=str.join("");
                                }
                        }
                }
                public function setTextField(tf:TextField):void {
                        _tf = tf;
                        _t = tf.text;
                }
                public function getTextField():TextField {
                        return _tf;
                }
                public function set width(w:int):void {
                        _tf.width = w;
                        _tf.text = _t;
                }
                public function get width():int {
                        return _tf.width;
                }
                public function set text(t:String):void {
                        _tf.text = _t = t;

                }
                public function get text():String {
                        return _t;
                }
        }
}
    

설정

트랙백

댓글

  • jin_u 2007.08.16 13:52 ADDR 수정/삭제 답글

    퍼포먼스 굳! 짝짝짝~

    • jasu 2007.08.16 17:30 신고 수정/삭제

      쿠쿠 퍼포먼스라고 할게 뭐 있낭...

  • 엑시아유틸 2007.08.16 17:19 신고 ADDR 수정/삭제 답글

    이거 혹시 티스토리의 최근글 길이도 동적으로 조정할 수 있나요? 할수 있다면 어디부분에 복사해붙여넣으면 되나요? 혹시 되나 해서 물어봅니다.

    • jasu 2007.08.16 17:33 신고 수정/삭제

      안녕하세요...
      이건 플래시 액션스크립트 3.0의 기능입니다. 최근 글의 텍스트를 받아서 보여줄 수는 있겠지만 굳이 그럴 필요는 없을 듯 싶어요...^^ 관리자 모드에서 글자수 제한에 대한 기능은 지원되고 있습니다.

  • jin_u 2007.08.16 20:17 ADDR 수정/삭제 답글

    Error #2044: 처리되지 않은 securityError입니다. text=Error #2048: 보안 샌드박스 문제가 발생했습니다. http://cfs.tistory.com/custom/blog/4/45508/skin/images/infinite.swf은(는) http://fs.tistory.com/custom/blog/4/45508/skin/images/navigation.xml에서 데이터를 로드할 수 없습니다.
    at com.tistory.jasu::LeftMenu/::loadXml()
    at com.tistory.jasu::LeftMenu$iinit()
    at com.tistory.jasu::MainInfinite/::initialize()
    at com.tistory.jasu::MainInfinite$iinit()

    이 에러는 어디서 나는 것인고? 내가 아직 플레이어가 9.0.2 버전이라 저런게 뜨는군. 노트북은 9.0.4 버전이라 괜찮았지만.ㅋ
    while로 인한 퍼포먼스!! ㅋㅋ 그럼 셔라~ 휴... 오늘은 좀 피곤하군 쩝...
    아하... 그러고 보니 구굴 심었네? 나중에 나도 좀 알려주삼~ 같이 먹어먹어~

    • jasu 2007.08.16 20:44 신고 수정/삭제

      아...애드센스 적용하다가 스킨에 있는 swf파일 경로를 잘못 넣었었나보다 도메인 정책이 맞지 않아서 xml을 못 불러왔었넹...수정해 놨다...
      애드센스 적용은 했는데 뭐가 잘못됐는지 아니면 아직 적용이 안된건지 계속 광고는 아니나오고 공익광고만 나오넹... 쿠쿠 아놔..왜 그런지 찾아봐야 겠다... 페이지 보니 수익이 바로 눈으로 확인이 되니 재밌겠다 싶은데 쿠쿠 일년 내내 해서 100달러 채울수 있을지 모르겠다..제대로 적용되면 클릭좀 해도...쿠쿠 부정 클릭이 발견되면 지급이 안될수도 있다한당 부정클릭 방지도 찾아봐야 겠다..생각보다 할게 많넹..으궁

  • 엑시아유틸 2007.08.16 23:11 신고 ADDR 수정/삭제 답글

    티스토리 최근글 글자수 제한이 40까지만 되어있어서 저는 더 늘릴수도 있는 줄 알았습니다.

    • jasu 2007.08.16 23:56 신고 수정/삭제

      아마도 40자 이상은 지원하지 않을 듯 싶네요...^^