Как встряхнуть движение только после кнопки?

Возможный дубликат:
Как перестать реагировать на встряхивание до нажатия кнопки?

У меня есть приложение, и в настоящее время, если вы нажмете кнопку «Воспроизвести», на ярлыке появится надпись «Встряхните, чтобы воспроизвести», проблема в том, что я новичок, и я не знаю, как его заказать, поэтому пользователь должен сначала нажать кнопку , затем, когда метка отображается, если пользователь встряхивает, метка исчезает. это все, что мне нужно, потому что после этого я разобрался с другими частями приложения. Спасибо всем, кто помогает, помните, что я совершенно новый, поэтому, пожалуйста, объясните любые ответы :) спасибо


person user1483652    schedule 16.07.2012    source источник


Ответы (2)


очевидным способом сделать это было бы создать iVar или @property, а в действии, которое происходит в результате нажатия кнопки «Воспроизвести», установить для iVar/@property значение YES. в движенииBegan:withEvent: где вы обнаруживаете дрожание, просто вернитесь, не выполняя действие встряхивания, если свойство iVar/@ не равно YES. и установили метку как скрытую, когда вы принимаете, что пользователь встряхнул в нужное время.

person john.k.doe    schedule 16.07.2012

Создайте переменную экземпляра типа BOOL. Назовите это, скажем, playIsTouched. Установите его в NO в методе viewDidLoad контроллера представления. В методе, обрабатывающем прикосновения к кнопке Play, установите для playIsTouched значение YES. В методе, обрабатывающем встряску, сделайте так, чтобы метка исчезала, только если playIsTouched == YES. В том же методе вы можете установить playIsTouched обратно в NO (если вы хотите, чтобы пользователь снова коснулся кнопки перед встряхиванием).

person StephenAshley.developer    schedule 16.07.2012