ios – 检测popover dismiss

ios – 检测popover dismiss,第1张

概述我想玩UIPopupController,我明白我无法检测到我的popover何时解雇. 我的步骤: 1.从XCode创建示例(文件 – >新项目 – >实用应用程序) 2.添加到MainViewController.h UIPopoverControllerDelegate #import "FlipsideViewController.h"@interface MainViewContro 我想玩UIPopupController,我明白我无法检测到我的popover何时解雇.
我的步骤:
1.从XCode创建示例(文件 – >新项目 – >实用应用程序)
2.添加到MainVIEwController.h UIPopoverControllerDelegate
#import "FlipsIDeVIEwController.h"@interface MainVIEwController : UIVIEwController <FlipsIDeVIEwControllerDelegate,UIPopoverControllerDelegate>@property (strong,nonatomic) UIPopoverController *flipsIDePopoverController;- (IBAction)showInfo:(ID)sender;@end

>在MainVIEwController中:

    - (IBAction)showInfo:(ID)sender    {        if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {            FlipsIDeVIEwController *controller = [[FlipsIDeVIEwController alloc] initWithNibname:@"FlipsIDeVIEwController" bundle:nil];            controller.delegate = self;            controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;            [self presentModalVIEwController:controller animated:YES];        } else {            if (!self.flipsIDePopoverController) {                FlipsIDeVIEwController *controller = [[FlipsIDeVIEwController alloc] initWithNibname:@"FlipsIDeVIEwController" bundle:nil];                controller.delegate = self;                self.flipsIDePopoverController.delegate = self                self.flipsIDePopoverController = [[UIPopoverController alloc] initWithContentVIEwController:controller];            }            if ([self.flipsIDePopoverController isPopoverVisible]) {                [self.flipsIDePopoverController dismisspopoverAnimated:YES];            } else {                [self.flipsIDePopoverController presentPopoverFrombarbuttonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];            }        }    }    -(voID)popoverControllerDIDdismisspopover:(UIPopoverController *)popoverController    {        NSLog(@"ololO");    }

但是当我点击某个地方,并且popover消失时,Console中没有NSLog消息.
我究竟做错了什么?

解决方法 将popover的代表设置为self,你也可以使用两个popover代理,即: –
/* Called on the delegate when the popover controller will dismiss the popover. Return NO to prevent the dismissal of the vIEw. */- (BOol)popoverControllerShoulddismisspopover:(UIPopoverController *)popoverController;/* Called on the delegate when the user has taken action to dismiss the popover. This is not called when -dismisspopoverAnimated: is called directly. */- (voID)popoverControllerDIDdismisspopover:(UIPopoverController *)popoverController;
总结

以上是内存溢出为你收集整理的ios – 检测popover dismiss全部内容,希望文章能够帮你解决ios – 检测popover dismiss所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1103822.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存