等待UIButton恢复为UIControlStateNormal

时间:2012-08-27 21:13:36

标签: ios uiimageview uibutton uiimage

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

时触发renderInContext
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent*)event 
调用

方法。当用户将手指从按钮上抬起时,调用此方法。

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

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

将控件事件设置为UIControlEventTouchUpInside