我正在尝试创建一个显示动画图像的按钮。我在this中读到了我添加UIImageView(带有animationImages数组)作为UIButton子视图的建议。我尝试这样做: (animation1是标题中声明的UIImageView对象)
- (void)viewDidLoad {
UIImage *image1 = [UIImage imageNamed:@"Good1.png"];
UIImage *image2 = [UIImage imageNamed:@"Good2.png"];
UIImage *image3 = [UIImage imageNamed:@"Bad1.png"];
NSArray *images = [[NSArray alloc] initWithObjects:image1, image2, image3, nil];
animation1.animationImages = images;
[images release];
[self.button1 addSubview:animation1];
[self.button1 bringSubviewToFront:animation1];
[button1 setNeedsDisplay];
animation1.animationDuration = 1;
animation1.animationRepeatCount = 3;
[animation1 startAnimating];
[super viewDidLoad];
}
但按钮内没有任何内容。我可能会出错的任何想法?
另外,我希望根据用户按下按钮时显示的图像调用不同的方法。我之前实现了这个,但创建了一个图像数组,使用NSTimer设置UIButton的背景图像循环通过这些图像,然后比较按下时按钮的图像数据到数组中的图像,调用不同的每种方法。这真的不是很有效!因此,为什么我试图在子视图中循环图像。关于如何在按下按钮时从UIButton的UIImageView子视图中提取图像数据的任何建议都将非常感激:)
谢谢!
迈克尔答案 0 :(得分:2)
这是纯粹的推测,但有时候你需要明确地设置一个框架。 (例如,在向UIBarButtonItem添加自定义按钮时)尝试添加一行
animation1.frame = CGRectMake(0,0,50,50);