带有 UIImageView 子视图的 UIButton 以显示动画图像
Posted
技术标签:
【中文标题】带有 UIImageView 子视图的 UIButton 以显示动画图像【英文标题】:UIButton with UIImageView subview to show animated images 【发布时间】:2010-07-30 13:32:02 【问题描述】:我正在尝试创建一个显示动画图像的按钮。我在this 中读到了我添加一个 UIImageView(带有一个动画图像数组)作为 UIButton 的子视图的建议。我试着这样做: (animation1是一个在header中声明的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】:这纯粹是推测,但有时您需要明确设置框架。 (例如,将自定义按钮添加到 UIBarButtonItem 时)尝试添加一行
animation1.frame = CGRectMake(0,0,50,50);
【讨论】:
抱歉回复慢 - 我会试一试 - 谢谢!以及关于如何提取 UIImageView 在按下按钮时显示的 UIImage 的任何想法?干杯:)以上是关于带有 UIImageView 子视图的 UIButton 以显示动画图像的主要内容,如果未能解决你的问题,请参考以下文章
当单元格具有 UIImageView 子视图时,UITableView 经历断断续续的滚动