2013-05-15 5 views
5

Я пытаюсь создать кнопку, которая вызовет действие, когда прикосновение пользователя будет приложено в любую точку кнопки (независимо от того, касаются ли они внутрь или перетаскивают извне внутрь кнопки). По сути, мне нужно создать способ запуска действия, когда палец находится внутри кнопки.iOS UIButton Touch Drag Enter Не работает, как ожидалось?

«Touch drag enter» в сочетании с «прикосновением внутрь» звучит так, будто это выполнит эту работу, но, похоже, работает по-другому, чем то, что мне нужно.

Кроме того, я бы предпочел, если это можно сделать в раскадровке, а не в жестком коде (например, touchhesBegan/move), но если нет другого способа, это нормально.

ответ

0

При настройке соединения в IB Touch Down должно быть то, что вы ищете. Каждый раз, когда палец пользователя нажимает кнопку, будет вызываться действие.

+2

Это не касается необходимости OP для срабатывания действий при нажатии кнопки. –

3

Либо вам придется привязывать все события один за другим с помощью метода, который вы намереваетесь вызывать при нажатии кнопки от IB.

ИЛИ

Вы можете попробовать зарегистрировать кнопку для UIControlEventAllTouchEvents внутри кода. Вот пример того, что может быть полезным

[_btnRoundRect addTarget:self action:@selector(btnPressedAction) forControlEvents:UIControlEventAllTouchEvents]; 


- (void)btnPressedAction{ 
    NSLog(@"Bttn pressed"); 
} 
5

Touch drag enter только вызывается, когда и начать прикосновение внутри элемента управления и перетащите его за пределы контроля, а затем перетащить его обратно в управление, не выходя из трогают. Поэтому вам нужно подклассифицировать свою кнопку и достичь требуемой функциональности.

Смежные вопросы