iPhone MotionShake перестает работать после нажатия на ссылку - PullRequest
0 голосов
/ 23 июня 2011

У меня есть приложение, которое отображает UIWebView после того, как пользователь встряхивает телефон.Он работает отлично, пока пользователь не щелкнет ссылку в веб-представлении.Когда пользователь щелкает ссылку, он должен щелкнуть пробел на экране, чтобы функция встряхивания снова заработала.

Как вы можете видеть ниже, я включил функции canBecomeFirstResponder и webViewDidFinishLoad.Пожалуйста, помогите!

#import "phonetiltViewController.h"

@implementation phonetiltViewController

-(void)viewDidAppear:(BOOL)animated {
    [self becomeFirstResponder];
}

-(void)viewDidDisappear:(BOOL)animated {
    [self resignFirstResponder];
}

- (BOOL)canBecomeFirstResponder 
{    // Shake gesture pops to top. If you don't want this override and 
    return YES; 
} 

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    if (event.subtype == UIEventSubtypeMotionShake) {
        [webView loadRequest: [NSURLRequest requestWithURL: [NSURL URLWithString:@"http://www.google.com"]]];
    }
}

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    [self becomeFirstResponder];
}

1 Ответ

0 голосов
/ 23 июня 2011

Тогда попробуйте UIAccelerometer. Вы можете использовать его метод делегата следующим образом:

- (void)accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration{
if(acceleration.x>1.5 || acceleration.y>1.5 || acceleration.z>1.5){
//load page}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...