objective-c - 如何使用单个按钮和单个操作方法显示/隐藏 UIPopoverController

标签 objective-c ios uipopovercontroller

以下方法与导航栏按钮相关联。按下按钮时,它会显示一个 UIPopoverController

- (IBAction) showTablePopUp:(id) sender {

if (self.tablesPopoverController == nil) {

    TablesPopOverViewController *tables = [[TablesPopOverViewController alloc]initWithNibName:@"TablesPopOverViewController" bundle:[NSBundle mainBundle]]; 

    UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:tables]; 

    popover.delegate = self;
    popover.popoverContentSize=CGSizeMake(280.0, 327.0);
    [tables release];

    self.tablesPopoverController = popover;
    [popover release];
}

[self.tablesPopoverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];


}

我想做的是在第二次按下按钮时隐藏弹出窗口:

  1. 点击 - 显示弹出框
  2. 点击 - 隐藏弹出窗口

我该怎么做?

最佳答案

这应该做你想做的:

- (IBAction) showTablePopUp:(id) sender {
    if (self.tablesPopoverController == nil) {

        TablesPopOverViewController *tables = [[TablesPopOverViewController alloc]initWithNibName:@"TablesPopOverViewController" bundle:[NSBundle mainBundle]]; 

        UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:tables]; 

        popover.delegate = self;
        popover.popoverContentSize=CGSizeMake(280.0, 327.0);
        [tables release];

        self.tablesPopoverController = popover;

        [self.tablesPopoverController presentPopoverFromBarButtonItem:sender 
            permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

    } else {
        [self.tablesPopoverController dismissPopoverAnimated: YES];
        self.tablesPopeverController = nil;
    }
}

关于objective-c - 如何使用单个按钮和单个操作方法显示/隐藏 UIPopoverController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8838154/

相关文章:

objective-c - 呈现 Renderbuffer 时导致执行时间波动的原因是什么? (OpenGL)

ios - 通过蓝牙 4.0 LE 发送图像文件

ios - Objective-C:单步执行 double* 数组时 EXC_BAD_ACCESS code=2

ios - 在 tableviewsource 上选择的 Monodevelop 行导致空引用异常

ios - UIPopoverController 内的 UINavigationController - 在其他 View 后面的 iOS 7 导航栏中

ios - 从解析列获取数组到 UITableView

ios - 使用 NSPredicate 将对象保存到核心数据

iphone - 没有 UIViewController 的 UITabBar 按钮

ios - 在通用应用程序中,如何将模态视图转换或重用为弹出窗口?

iphone - 如果没有更好的代码检查方式,我该如何编写呢?