如何在导航右栏按钮上使用动画?
How can I Use Animation On Navigation Right bar button?
我使用下面的代码作为导航右栏按钮:--
UIButton *settingsBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[settingsBtn setImage:[UIImage imageNamed:@"logo_soft.png"] forState:UIControlStateNormal];
//[settingsBtn addTarget:self action:@selector(settings) forControlEvents:UIControlEventTouchUpInside];
[settingsBtn setFrame:CGRectMake(-16, -6, 95, 43)];
UIView *rightBarButtonItems = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 76, 32)];
//[rightBarButtonItems addSubview:homeBtn];
[rightBarButtonItems addSubview:settingsBtn];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightBarButtonItems];
现在我想在同一个导航右栏按钮上使用以下代码:
- (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];
}
如何使用我的导航栏按钮,如下图所示:---
请给我合适的答案或提供示例代码。
谢谢。
我试过你的代码,加上我的小技巧,效果很神奇。
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一个图片,这样你的按钮才能做成frame
我使用下面的代码作为导航右栏按钮:--
UIButton *settingsBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[settingsBtn setImage:[UIImage imageNamed:@"logo_soft.png"] forState:UIControlStateNormal];
//[settingsBtn addTarget:self action:@selector(settings) forControlEvents:UIControlEventTouchUpInside];
[settingsBtn setFrame:CGRectMake(-16, -6, 95, 43)];
UIView *rightBarButtonItems = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 76, 32)];
//[rightBarButtonItems addSubview:homeBtn];
[rightBarButtonItems addSubview:settingsBtn];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightBarButtonItems];
现在我想在同一个导航右栏按钮上使用以下代码:
- (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];
}
如何使用我的导航栏按钮,如下图所示:---
请给我合适的答案或提供示例代码。
谢谢。
我试过你的代码,加上我的小技巧,效果很神奇。
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一个图片,这样你的按钮才能做成frame