Как получить идентификатор кнопки и одновременное выполнение касаний? - PullRequest
2 голосов
/ 26 октября 2011

У меня есть ситуация, у меня есть класс UIButton, в котором при выборе кнопки я получаю идентификатор кнопки, основываясь на ней, я меняю цвет кнопки с помощью [self addTarget: self action: @selector (buttonPressed):) forControlEvents: UIControlEventTouchUpInside];

И с помощью метода touchesBegan, touchesMoved, touchesEnded я могу перетащить объект кнопки мыши в любую часть экрана.

Теперь проблема в том, что если я использую touchesBegan,touchesMoved, touchesEnded метод, тогда я не получаю идентификатор кнопки, поэтому я не могу изменить цвет.

Так как же я могу решить обе проблемы?

Ответы [ 2 ]

1 голос
/ 26 октября 2011

одним из параметров для touchesBegan является набор объектов UITouch.UITouch имеет свойство "view", которое является видом, к которому вы прикоснулись.Так что-то вроде

-(void)touchesBegan:touches withEvent:e
{
    id* myButton = [touches anyObject].view;
}
0 голосов
/ 26 октября 2011

Если вы вызываете следующий метод в родительском представлении (содержащем все кнопки) в touchesBegan: он должен вернуть вам кнопку, к которой вы прикоснулись ....

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...