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