0
UIPopoverController
を却下しようとしていますが、正常に動作します。 UIPopoverController
がUILongPressGestureRecognizer
アクションから作成されている場合。 動作しません。私はdismissAllPopovers
と呼んでいる代議員を持っています。誰にでもアイデアはありますか?おかげUIPopovercontrollerがUILongPressGestureRecognizerから却下しない
UILongPressGestureRecognizer *longTap = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleChangeColor:)];
longTap.minimumPressDuration = 0.6;
[button addGestureRecognizer:longTap];
- (void)handleChangeColor:(UILongPressGestureRecognizer *)gesture
{
ColorPicker *colorPicker = [[ColorPicker alloc] initWithNibName:nil bundle:[NSBundle mainBundle]];
colorPicker.delegate2 = self;
colorPicker.navigationItem.title = [Language get:@"Button Color"];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:colorPicker];
self.selectColorPop = [[UIPopoverController alloc] initWithContentViewController:navController];
self.selectColorPop.popoverContentSize = CGSizeMake(300, 390);
self.selectColorPop.delegate = self;
colorPicker.myPop = self.selectColorPop;
[self.selectColorPop presentPopoverFromRect:button.frame inView:scrollView permittedArrowDirections:UIPopoverArrowDirectionRight animated:YES];
[self.selectColorPop setPassthroughViews:nil];
}
- (void) dismissAllPopOvers
{
if (self.selectColorPop != nil)
{
//[self.selectColorPop.delegate popoverControllerDidDismissPopover:self.selectColorPop];
[self.selectColorPop dismissPopoverAnimated:YES];
self.selectColorPop = nil;
}
}
それが何をするんでしょうか? – mattsven
NSLogを 'handleChangeColor:'に配置します。私はそれが長いプレスの閾値を過ぎると、かつプレスが終了したときに一度呼び出されていると信じています。あなたに2つのポップオーバーを与えます。 – beyowulf
ありがとう!あなたは私の一日を救った! – user774150