1

当用户点击我界面上的按钮时,我想使用 renderInContext 创建屏幕图像:

但是,图像是在按钮处于“按下”状态时创建的——也就是说,使用了 UIControlStateHighlighted 图像。

在我创建图像之前,是否有某种方法可以等待此按钮恢复到 UIControlStateNormal 状态?

如果没有,我能想到的唯一其他解决方案是重新创建屏幕外的视图,并对其进行成像。

PS我宁愿避免使用一些任意计时器来等待设定的时间间隔。

4

1 回答 1

0

使用子类按钮创建和替换您的按钮,并在

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent*)event 

方法被调用。当用户将手指从按钮上移开时调用此方法。

或者使用uibutton的这个方法设置现有按钮的动作方法:

-(void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents

控制事件设置为 UIControlEventTouchUpInside

于 2012-08-27T21:25:43.573 回答