如何在Objective c中使用动画导航栏按钮

时间:2015-08-29 06:12:25

标签: objective-c animation ios8 uinavigationbar

我想在导航栏按钮上添加此图像,如何在导航右栏按钮或左栏按钮上使用此图像?

enter image description here

请在下面的代码中查看我用来查看相同的代码,例如导航栏按钮上的工作代码: -

- (void)viewDidLoad
  {
    [super viewDidLoad];
    // Animation

    UIImageView*animationView = [[UIImageView alloc] initWithFrame:self.view.frame];
    animationView.animationImages = [NSArray arrayWithObjects:

                                 [UIImage imageNamed:@"1.gif"],
                                 [UIImage imageNamed:@"2.gif"],
                                 [UIImage imageNamed:@"3.gif"],
                                 [UIImage imageNamed:@"4.gif"],
                                 [UIImage imageNamed:@"5.gif"],
                                 [UIImage imageNamed:@"6.gif"],nil];
    animationView.animationDuration = 1.25;
    animationView.animationRepeatCount = 0;
    [animationView startAnimating];
    [self.view addSubview:animationView];
}

让我知道如何  在导航栏按钮上使用此代码。

谢谢!

1 个答案:

答案 0 :(得分:1)

我尝试过你的代码,我的一个小技巧就像魔法一样。

NSArray *imageArray = [NSArray arrayWithObjects:
                       [UIImage imageNamed:@"tmp-0"],
                       [UIImage imageNamed:@"tmp-1"],
                       [UIImage imageNamed:@"tmp-2"],
                       [UIImage imageNamed:@"tmp-3"],
                       [UIImage imageNamed:@"tmp-4"],
                       [UIImage imageNamed:@"tmp-5"],
                       [UIImage imageNamed:@"tmp-6"],
                       [UIImage imageNamed:@"tmp-7"],nil];

UIButton *barButton = [UIButton buttonWithType:UIButtonTypeCustom];
[barButton setImage:[UIImage imageNamed:@"tmp-0"] forState:UIControlStateNormal]; // mine trick
[barButton.imageView setAnimationImages:imageArray];
[barButton.imageView setAnimationDuration:1.0f];

[barButton.imageView startAnimating];
[barButton sizeToFit];

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:barButton];

您首先需要向barButton提供图片,因此您的按钮可以显示其框架

Screenshot of my test