as3组件,如iOS'UIScrollView

时间:2012-08-03 13:23:47

标签: ios actionscript-3 air uiscrollview

我正在搜索与iOS上的UIScrollView类似的as3类;即。您可以拖动视图(影片剪辑)上的任何位置,它将滚动内部的内容。我找到了ScrollPane类,但它右边有一个条,您必须拖动条或按向上和向下箭头。我想要一个直观的课程,您可以在任何地方滑动以滚动视图。那里有类似的东西吗?我很惊讶我找不到搜索的东西。

为了记录,我看到this question,但它接受的答案链接到一个拙劣的UITableView实现,而不是UIScrollView。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:-1)

这对我有用,没有评论,但相当简单。 所有.fla(未包含)都有一个名为scroll_container的MC,其中包含所有项目。

    private var hasScrolled:Boolean = false;
    private var checkForScroll:Boolean = false;
    private var oldMouse:Point;

    public function IOSScrollTest() {

        addEventListener( MouseEvent.MOUSE_DOWN, MouseDown );
        addEventListener( MouseEvent.MOUSE_UP, MouseUp );
        addEventListener( Event.ENTER_FRAME, EnterFrame );
    }

    private function MouseDown( e:MouseEvent ) {

        hasScrolled = false;
        checkForScroll = true;
        oldMouse = new Point( mouseX, mouseY );
    }

    private function MouseUp( e:MouseEvent ) {

        if( ! hasScrolled ) {

            // Do your stuff here (onClick things)
        }

        checkForScroll = false;
    }

    private function EnterFrame( e:Event ) {

        if( checkForScroll ) {

            var diff:Number = mouseY - oldMouse.y;
            if( Math.abs(diff) > 2 ) {

                hasScrolled = true;
                oldMouse = new Point( mouseX, mouseY );
                scroll_container.y += diff;
            }
        }
    }