我正在寻找一个与 iOS 上的 UIScrollView 类似的 as3 类;IE。您可以拖动视图(电影剪辑)上的任何位置,它会滚动里面的内容。我找到了ScrollPane类,但它的右侧只有一个栏,您必须在其中拖动栏或按向上和向下箭头。我想要一个直观的类,您可以在其中滑动任意位置以滚动视图。那里有类似的东西吗?我很惊讶我无法通过搜索找到一些东西。
作为记录,我看到了这个问题,但它接受的答案链接到一个拙劣的 UITableView 实现,而不是 UIScrollView。
我正在寻找一个与 iOS 上的 UIScrollView 类似的 as3 类;IE。您可以拖动视图(电影剪辑)上的任何位置,它会滚动里面的内容。我找到了ScrollPane类,但它的右侧只有一个栏,您必须在其中拖动栏或按向上和向下箭头。我想要一个直观的类,您可以在其中滑动任意位置以滚动视图。那里有类似的东西吗?我很惊讶我无法通过搜索找到一些东西。
作为记录,我看到了这个问题,但它接受的答案链接到一个拙劣的 UITableView 实现,而不是 UIScrollView。
这对我有用,它没有评论,但它相当简单。所有 .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;
}
}
}