上拉跳转界面,仿淘宝

项目中提出这么个需求,在首页中上拉,然后直接跳转到地图找房界面,想了下,用监听scrollview加动画实现了这一效果,上代码:


// 监听scrollview的滑动事件,这里我设置了上拉距离超过200就跳转

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

    

    NSLog(@"%f",scrollView.contentOffset.y);

    

    if (scrollView.contentOffset.y >= 200) {

        [self pushToMapSearchHouseVC];

    }

    

}


// 跳转

-(void)pushToMapSearchHouseVC {


    // 搞一个动画

    CATransition *trans = [CATransition animation];

    trans.duration = 1;

    trans.type = kCATransitionPush;

    trans.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];

    // 设置样式为从底部向上推出

    trans.subtype = kCATransitionFromTop;

    [self.navigationController.view.layer addAnimation:trans forKey:nil];

    MapSerachViewController *VC=[[MapSerachViewController alloc]init];

    VC.type = 3;

    [self.navigationController pushViewController:VC animated:YES];

}


 
至此,大功告成,若你的ViewController不是滑动视图,要想实现这个效果,可以用 


-(void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

    

    UITouch *touch = [touches anyObject];

    CGPoint point = [touch locationInView:self.view];

    if (point.y < -200) {

        /*

        跳转

         */

    }

    

}


尝试一下




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值