等待UIButton恢复到UIControlStateNormal

当用户点击我的界面上的button时,我想使用renderInContext创build一个屏幕的图像:

但是,图像是在按下button的状态下创build的 – 也就是使用UIControlStateHighlighted图像。

有什么方法可以等待这个button恢复到UIControlStateNormal状态,然后再创build图像?

如果不是,我能想到的唯一的另一个解决scheme是重新创build视图closures屏幕,并成像。

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

使用子类button创build并replace您的button,并在触发时触发renderInContext

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

方法被调用。 当用户将手指从button上抬起时调用此方法。

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

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

将控件事件设置为UIControlEventTouchUpInside