Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.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/0/search/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
Ios 如何实现谷歌&x2B;类似导航标题动画的公共配置文件页面_Ios_Uinavigationbar_Google Plus - Fatal编程技术网

Ios 如何实现谷歌&x2B;类似导航标题动画的公共配置文件页面

Ios 如何实现谷歌&x2B;类似导航标题动画的公共配置文件页面,ios,uinavigationbar,google-plus,Ios,Uinavigationbar,Google Plus,我曾经有过这样一个场景,我想要google+个人资料页面,比如标题动画,其中没有导航栏,但当我们上下滚动时,导航栏和状态栏会以动画的形式显示。有人能帮我解决这个问题吗。Easy peasy: float lastOffset; -(void)scrollViewDidScroll:(UIScrollView *)scrollView { float offset = scrollView.contentOffset.y; if ( offset >

我曾经有过这样一个场景,我想要google+个人资料页面,比如标题动画,其中没有导航栏,但当我们上下滚动时,导航栏和状态栏会以动画的形式显示。有人能帮我解决这个问题吗。

Easy peasy:

float lastOffset;

-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{        

    float offset = scrollView.contentOffset.y;


    if ( offset > lastOffset ) {

       [self hideNavigationBar];
    } else  {

        [self showNavigationBar];
    }
}
- (void)hideNavigationBar
{



    CALayer *layer = self.viewParent.navigationController.navigationBar.layer;


    CGPoint navBarDefaultPosition = CGPointMake((int)self.view.frame.size.width/2.0f,42);


    if (layer.position.x == navBarDefaultPosition.x &&
        layer.position.y == navBarDefaultPosition.y && self.data.count > 0) {
        [UIView animateWithDuration:0.25 animations:^{
            layer.position = CGPointMake(layer.position.x,
                                         -self.navigationController.navigationBar.frame.
                                         size.height);

        }];
    }  
}

-(void)showNavigationBar
{

    CALayer *layer = self.viewParent.navigationController.navigationBar.layer;

    CGPoint navBarDefaultPosition = CGPointMake((int)self.view.frame.size.width/2.0f,42);

    if ( layer.position.y != navBarDefaultPosition.x ) { 

        [UIView animateWithDuration:0.25 delay:0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
            layer.position = CGPointMake(self.view.frame.size.width/2,42);



        } completion:^(BOOL finished) {

        }];
    }
}

Hello@Martin你能在git上添加一个演示项目并提供链接给我吗?这实际上并没有将节头向下推,但导航栏在表视图的节头上。谁能给我一些更好的提示或源代码,这将是非常有帮助的。