как обнаружить и программировать вокруг встрясок для iPhone

Нет ничего встроенного в Python stdlib для невыхода из HTML, но существует короткий сценарий, который можно адаптировать в соответствии с потребностями в http://www.w3.org/QA/2008/04/unescape-html-entities-python .html.

6
задан Community 23 May 2017 в 12:09
поделиться

2 ответа

Вы не должны абсолютно слушать UIAccelerometer напрямую с вашей собственной фильтрацией для обработки событий встряхивания. Это высокопроизводительная операция, и ее следует использовать только приложениям, которым требуется высокая частота дискретизации акселерометра. Вместо этого используйте новые события движения, которые были добавлены в UIEvent :

http://developer.apple.com/IPhone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/EventHandling/EventHandling.html# // apple_ref / doc / uid / TP40007072-CH9-SW24

Как и прикосновения, событие движения будет доставлено первому респонденту, а затем перемещаться по цепочке респондента, если первый респондент не отвечает. UIEvent будет иметь тип UIEventTypeMotion и подтип UIEventSubtypeMotionShake .

4
ответ дан 10 December 2019 в 00:41
поделиться

Вот мой ответ, который работает:

// MainViewController.m

-(void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(shake) 
                                 name:@"shake" object:nil];

    if(event.type == UIEventTypeMotion && event.subtype == UIEventSubtypeMotionShake)
        NSLog(@"motion Began");
}

-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(shake)
                                                 name:@"shake"
                                               object:nil];
    if(event.type == UIEventTypeMotion && event.subtype == UIEventSubtypeMotionShake)
        NSLog(@"motion Ended");
}

-(void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(shake) 
                                                 name:@"shake" 
                                               object:nil];
    if(event.type == UIEventTypeMotion && event.subtype == UIEventSubtypeMotionShake)
        NSLog(@"motion Cancelled");
}

-(void)viewDidLoad {
    [super viewDidLoad];

    [self becomeFirstResponder];
}

- (void)viewDidUnload {
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
    [self resignFirstResponder]; 

}

Я тестировал только с симулятором, и он мне возвращает:

2010-06-22 12:40:48.799 Cocktails[14589:207] motion Began

2010-06-22 12:40:48.800 Cocktails[14589:207] motion Ended

Надеюсь, это поможет, потому что я теряю 2 часа на эту работу.

6
ответ дан 10 December 2019 в 00:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: