Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何制作像Glympse iphone应用程序这样的介绍屏幕_Iphone_Ios_Glympse - Fatal编程技术网

如何制作像Glympse iphone应用程序这样的介绍屏幕

如何制作像Glympse iphone应用程序这样的介绍屏幕,iphone,ios,glympse,Iphone,Ios,Glympse,当您第一次启动iphone应用程序时,Glympse会显示一个介绍屏幕。 当您从上到下滚动屏幕时,它将动态地更改内容,动画非常平滑。 您也可以在设置菜单中重播此介绍 我想知道如何在iphone中构建这样一个屏幕位置感知动画页面。 我甚至想知道这个屏幕是用html5+css3构建的吗?就像。看到这是多么的平滑,它不是HTML5,而是由HTML触发的对象 从阅读和开始这里是我如何实现介绍序列的: 由于UIScrollViewDelegate没有提供scrollview内容的实际显示坐标,因此我创建了

当您第一次启动iphone应用程序时,Glympse会显示一个介绍屏幕。 当您从上到下滚动屏幕时,它将动态地更改内容,动画非常平滑。 您也可以在设置菜单中重播此介绍

我想知道如何在iphone中构建这样一个屏幕位置感知动画页面。
我甚至想知道这个屏幕是用html5+css3构建的吗?就像。

看到这是多么的平滑,它不是HTML5,而是由HTML触发的对象


从阅读和开始这里是我如何实现介绍序列的:

由于UIScrollViewDelegate没有提供scrollview内容的实际显示坐标,因此我创建了一个从UIScrollView派生的新类,并进行了重写。我还定义了一个委托协议,该协议在调用setContentOffset时触发,并通知侦听器传递到setContentOffset方法的contentOffset值。(理想情况下,这应该是iOS的UIScrollViewDelegate委托的一部分)

代理的实现者现在能够在滚动发生时接收实际的内容偏移量。当视图滚动并显示不同的内容时,我会根据contentOffset的垂直坐标触发动画。这些触发器在垂直点(Y值)数组中定义,每个垂直点与两个函数调用相关联,动画UI元素在视图中和视图外

当contentOffset Y值大于一个触发点时,我在视图中设置了一个特定UI元素的动画,并将动画设置为“已触发”。动画通常是淡入或使用调整大小。当Y值小于触发点且之前已触发动画时,我将使用不同的动画(如淡出)在视图外设置对象动画,标记为“未触发”

以下是确定UI元素是否可见的关键计算:

    CGPoint point = [contentOffset CGPointValue];
    CGFloat visible = _scrollView.bounds.size.height + point.y;

    if ( _triggers[ndx].y < visible )
    {
        if ( !_triggers[ndx].triggered )
        {
            _triggers[ndx].triggered = true;
            // call trigger's function to animate item into view
        }
    }
    else
    {
        if (_triggers[ndx].triggered)
        {
            _triggers[ndx].triggered = false;
            // call trigger's function to animate item out of view
        }
    }
CGPoint point=[contentOffset CGPointValue];
CGFloat visible=\u scrollView.bounds.size.height+point.y;
if(_触发[ndx].y<可见)
{
如果(!\u触发器[ndx]。已触发)
{
_触发器[ndx]。触发器=true;
//调用触发器的函数将项目动画化到视图中
}
}
其他的
{
如果(_触发器[ndx]。已触发)
{
_触发器[ndx]。触发器=false;
//调用触发器的函数以设置视图外项目的动画
}
}