![](/img/trans.png)
[英]Dismissing a UIPopoverController from within its contentViewController?
[英]UIPopovercontroller not dismissing from UILongPressGestureRecognizer
我正在嘗試關閉UIPopoverController
,它可以正常工作。 但是,如果UIPopoverController
是通過UILongPressGestureRecognizer
操作創建的。 沒用 我有一個正在調用dismissAllPopovers
的代表。 有人有想法么? 謝謝
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;
}
}
在handleChangeColor下:我應該
if(UIGestureRecognizerStateBegan == gesture.state) {
// Called on start of gesture, do work here
[self doSomething];
}
if(UIGestureRecognizerStateChanged == gesture.state) {
// Do repeated work here (repeats continuously) while finger is down
}
if(UIGestureRecognizerStateEnded == gesture.state) {
// Do end work here when finger is lifted
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.