• As3显示对象scrollRect滚动问题


      利用DisplayObject的scrollRect属性可以很方便的设置DisplayObject的显示及滚动区域,不过设置scrollRect后如果再获取DisplayObject.height时,其值和设置scrollRect之前的DisplayObject.height不同,而是scrollRect.height(DisplayObject.width一样)。这下要根据DisplayObject.height来更新滚动条的滚动区域或者只是获取原来的DisplayObject.heigt就会出现问题了。当然,最简单也是最笨的办法是可以在设置scrollRect前先用一个临时变量保存其DisplayObject.height。不过对于我的程序问题来说这种方法行不通,因为我显示出来的有文字和图片,在图片加载完成前显示时要先设置滚动条,在图片加载完成后要更新滚动条,这就出现了上述的问题。

      描述完后上解决方法,解决方法是从国外的一个论坛找到的,它是获取显示对象的全部区域的边界,其边界的宽高就是显示对象没有设置scrollRect的宽高,我们就可以根据这个宽度和高度来更新或者做其他事了。之前我也考虑过,不过我是用DisplayObject.getBounds和DisplayObject.getRect尝试获得,返回的是其scrollRect区域并不是其全部区域。

      下面是获取显示对象的全部区域边界的方法:

    static public function getFullBounds ( displayObject:DisplayObject ) :Rectangle
      {
        var bounds:Rectangle, transform:Transform,     toGlobalMatrix:Matrix, currentMatrix:Matrix;     transform = displayObject.transform;     currentMatrix = transform.matrix;     toGlobalMatrix = transform.concatenatedMatrix;     toGlobalMatrix.invert();     transform.matrix = toGlobalMatrix;     bounds = transform.pixelBounds.clone();     transform.matrix = currentMatrix;     return bounds;   }
  • 相关阅读:
    iOS-布局-Masonry
    Xcode-打开代码折叠带
    Xcode-显示代码行数
    iOS-UITextField-通知
    iOS-UITextField-常用方法
    iOS-UIButton-文字位置,字体大小,边角样式,button种类,点击事件,内容位置
    iOS-UIView-设置背景图片4种方式
    windows8.1 plsql连接oracle
    win7_oracle11g_64位连接32位PLSQL_Developer
    oracle字符集的查看和修改
  • 原文地址:https://www.cnblogs.com/skybdemq/p/2293727.html
Copyright © 2020-2023  润新知