こんにちは、私はユーザーが Facebook のピンウォールに何かを投稿できるようにするアプリを持っています。Facebook から直接 DemoApp を使用してセットアップしました。
ユーザーがデバイスを振ったときに何かを行う振れ検出を実装しました。ただし、これらの 2 つの関数は同じビューコントローラーにあるため、どちらも機能しなくなりました。
- Facebook がログイン ウィンドウを表示すると、キーボードが表示されなくなります。
- 揺れはもう検出されません。
それは最初のレスポンダーと関係があると思います。私は多くのことを試しましたが、解決できませんでした。これが私のコードの必要な部分です。
Facebookピンウォールに何か投稿してください:
- (IBAction)publishStream{
FactsAppDelegate *appDelegate = (FactsAppDelegate *)[[UIApplication sharedApplication] delegate];
NSMutableDictionary *dictionary = [[[NSMutableDictionary alloc] init]autorelease];
[dictionary setObject:@"Du postest diesen Fact:" forKey:@"user_message_prompt"];
[dictionary setObject:[[appDelegate.facts objectAtIndex:currentFactId] fact] forKey:@"message"];
[_facebook dialog:@"feed" andParams:dictionary andDelegate:self];
}
揺れ検出:
#pragma mark Motion catching
// shake motion began
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
if (motion != UIEventSubtypeMotionShake) return;
// load next fact
[self next];
// vibrate
[self vibrate];
}
振動検出に必要な方法:
#pragma mark Shake events are only detectable by the first responder
- (BOOL)canBecomeFirstResponder {
return YES;
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self becomeFirstResponder];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self resignFirstResponder];
}
両方(Facebook、シェイク)を機能させるために何を変更する必要があるか教えてもらえますか?どうもありがとう、ドゥーノット