在我的NativeScript-typescript应用程序中,我有一个屏幕上有2个ScrollViews。两个ScrollView都有一个scrolllevent。现在,当我滚动ScrollView1时,也会触发ScrollView2的ScrollEvent。至少在Android上就是这种情况。在iOS上,只有正在滚动滚动的ScrollView才会触发。
有人知道这是为什么吗?
pageLoaded中对scroll()的调用对Android没有影响。在iOS上它按预期工作。
有人知道这是为什么吗?
提前感谢您的时间!
我的屏幕布局如下:
import { EventData } from "data/observable";
import { Page } from "ui/page";
import { ScrollView } from "ui/scroll-view";
import observable = require("data/observable");
import scrollViewModule = require("ui/scroll-view")
let scroller1: ScrollView;
let scroller2: ScrollView;
export function pageLoaded(args: EventData) {
let page = <Page>args.object;
scroller1 = <ScrollView>page.getViewById("scroller1");
scroller2 = <ScrollView>page.getViewById("scroller2");
scroller1.on(ScrollView.scrollEvent, scrollingScroller1, this);
scroller2.on(ScrollView.scrollEvent, scrollingScroller2, this);
scroll();
}
export function buttonClicked(args: scrollViewModule.ScrollEventData) {
scroll();
}
export function scrollingScroller1(args: scrollViewModule.ScrollEventData) {
console.log('scrollingScroller1');
}
export function scrollingScroller2(args: scrollViewModule.ScrollEventData) {
console.log('scrollingScroller2');
}
export function scroll() {
scroller1.scrollToHorizontalOffset(300, false);
scroller1.animate({
opacity: 1,
duration: 500
});
}
代码隐藏如下:
class IsPrime
{
function check($num)
{
for ($i = 2; $i < $num; $i++)
{
if ($num % $i == 0)
{
return 'NOT prime';
}
}
return 'Prime';
}
}
$x = new IsPrime();
$result = $x->check(4);
echo $result;