我有一个情况我有一个UIButton类,其中选择一个按钮我得到基于它的按钮的id我正在改变按钮的颜色使用[self addTarget:self action:@selector(buttonPressed :) forControlEvents:UIControlEventTouchUpInside];
通过使用touchesBegan,touchesMoved,touchesEnded方法,我可以将按钮对象拖放到屏幕的任何部分。
现在问题是如果我使用touchesBegan,touchesMoved,touchesEnded方法然后我没有得到按钮的id,所以我无法改变颜色。
那么我怎样才能解决问题?
答案 0 :(得分:1)
touchesBegan的一个参数是一组UITouch对象。 UITouch具有属性“视图”,这是您点击的视图。像
这样的东西-(void)touchesBegan:touches withEvent:e
{
id* myButton = [touches anyObject].view;
}
答案 1 :(得分:0)
如果你在touchesBegan的父视图(包含所有按钮)上调用以下方法:它应该返回你正在触摸的按钮....
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
希望这有帮助。