UIButton与UIImageView子视图显示动画图像

时间:2010-07-30 13:32:02

标签: iphone objective-c uiimageview uibutton subview

我正在尝试创建一个显示动画图像的按钮。我在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子视图中提取图像数据的任何建议都将非常感激:)

谢谢!

迈克尔

1 个答案:

答案 0 :(得分:2)

这是纯粹的推测,但有时候你需要明确地设置一个框架。 (例如,在向UIBarButtonItem添加自定义按钮时)尝试添加一行

animation1.frame = CGRectMake(0,0,50,50);