【问题标题】:How to call (open) a new TableView by tapping a row of an existing(actual) tableview如何通过点击现有(实际)表视图的一行来调用(打开)新表视图
【发布时间】:2016-05-07 23:22:40
【问题描述】:

当我点击另一个表格视图的一行时,我一直在尝试实现不同的方法来打开一个带有表格视图的新窗口,但是没有任何效果,并且网络上的所有结果都是针对 iOS 或 Swift 的。 我正在使用 xcode (7.2) 用于桌面(OS X,el capitan)的objective-c。

【问题讨论】:

    标签: objective-c macos cocoa model-view-controller


    【解决方案1】:
    1. 在您正在使用的 NSTableCellView 顶部添加一个透明的 NSButton。

    2. 创建一个新的 NSWindowController 子类,并在其中添加第二个 NSTableView 及其 NSTableViewDelegate/DataSource。

    3. 将 IBAction 连接到 (1) 中的覆盖按钮,并让它实例化 (2) 中创建的窗口控制器。调用showWindow:nil[controller.window makeKeyAndOrderFront:] 显示窗口控制器。不要忘记创建对控制器的强引用。

    例子:

    - (IBAction)didPressOverlayButton:(id)sender {
        CustomWindowController *controller = [[CustomWindowController alloc] init];
        [controller showWindow:nil];
        [controller.window makeKeyAndOrderFront:nil];
        _newController = controller;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-25
      • 2015-10-30
      • 2012-10-06
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-18
      相关资源
      最近更新 更多