Navigation上的BarButton添加动画效果

来源:互联网 发布:mac应用程序删除 编辑:程序博客网 时间:2024/04/29 12:53

这个秘诀就是

UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithCustomView:<#(UIView *)#>];

然后在view上添加动画效果就好了。

这里view上要添加TapGesture


在viewController中的设置

self.navigationController.navigationBar.clipsToBounds = YES;        UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self                                                                                action:@selector(backViewTapped:)];    backView = [[BackView alloc]initWithFrame:CGRectMake(0, 0, 20, 20)];    [backView addGestureRecognizer:tapGesture];    UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithCustomView:backView];    [self.navigationItem setLeftBarButtonItem:backBarButton];


backView中加入一个imageView,在imageView上加动画

-(UIImageView *)imageView{    if(!_imageView){        _imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"back"]];    }    return _imageView;}

-(void)move{        CABasicAnimation *animation = [CABasicAnimation animation];    animation.keyPath = @"transform";        animation.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeTranslation(-5, 0, 0)];        animation.duration = 0.5;    [self.imageView.layer addAnimation:animation forKey:nil];    }

再在viewController中调用move的方法


-(void)viewDidAppear:(BOOL)animated{    [super viewDidAppear: animated];    [backView move];}



0 0
原创粉丝点击