标签: nsviewcontroller

Mac OS X Cocoa单窗口应用程序架构

我无法理解如何以单一窗口应用程序在Mac OS X中工作的最佳方式设计应用程序.我更喜欢单个文档 - 单窗口应用程序(我不编写实用程序应用程序),但目前尚不清楚我应该初始化一个窗口内容.

在iOS上,我应该使用根视图控制器-[UIViewController viewDidLoad]-[UIViewController viewWillAppear:]方法来实现此目的.

你可以请教我任何教程或解释如何处理NSDocument - NSDocumentController - NSWindowController - NSViewController类?

谢谢你的回答.:-)

macos cocoa objective-c nsviewcontroller nswindowcontroller

5
推荐指数
1
解决办法
2614
查看次数

Mac OS X Cocoa多视图应用程序导航

我已经花了整整2天试图弄清楚如何使用NSViewControllers来创建一个多视图应用程序.

这就是我的工作.

我有2个视图控制器和MainMenu.xib的窗口.我还有一个AppController,它是两个视图控制器的委托.

当我启动应用程序时,我首先会遇到MainMenu.xib的Window视图,其中包含一个按钮.单击此按钮,IBAction将发送到appController,并要求SecondViewController显示它的nib.到目前为止,一切都很好,nib文件正确显示.

在secondViewController上,还有另一个按钮,它将另一个IBAction发送到appController,并要求显示FirstViewController,但没有任何反应,没有崩溃,没有警告......任何帮助都将非常感谢...提前感谢您的耐心等待. ..

这是AppController.h的代码:

#import <Foundation/Foundation.h>
#import "SecondViewController.h"
#import "FirstViewController.h"

@interface AppController : NSObject

@property (strong) IBOutlet NSWindow *mainWindow;

@property (strong) IBOutlet SecondViewController *secondViewController;
@property (strong) IBOutlet FirstViewController *firstViewController;


- (IBAction)secondButtonfromsecondViewControllerClicked:(id)sender;

- (IBAction)buttonClicked:(id)sender;

@end
Run Code Online (Sandbox Code Playgroud)

这是AppController.m的代码:

#import "AppController.h"


@implementation AppController
@synthesize mainWindow = mainwindow;
@synthesize secondViewController;
@synthesize firstViewController;

- (IBAction)buttonClicked:(id)sender {

     NSLog(@"button from second View Controller clicked");

     self.secondViewController = [[SecondViewController  
     alloc]initWithNibName:@"SecondViewController" bundle:nil];
     self.mainWindow.contentView = self.secondViewController.view;
     [self.secondViewController.view setAutoresizingMask:NSViewWidthSizable | 
     NSViewHeightSizable];
}

 - (IBAction)secondButtonfromsecondViewControllerClicked:(id)sender {

     NSLog(@"button from first ViewController clicked"); …
Run Code Online (Sandbox Code Playgroud)

cocoa multiview nsviewcontroller

5
推荐指数
1
解决办法
5784
查看次数

如何在Swift中实例化NSViewController?

我目前的Swift代码

         var appBundle = NSBundle.mainBundle()
         let controller: ViewController = ViewController.init(nibName:        "ViewController", bundle: nil)
    self.window.contentView.addSubview(controller.view)
    controller.view.frame = self.window.contentView.bounds
Run Code Online (Sandbox Code Playgroud)

得到两个错误.一个是"类型名称后的预期成员名称或构造函数调用",另一个是"()不能转换为'ViewController'.作为参考,ViewController是一个继承自NSViewController的类.

这两个错误都发生在第二行代码上.提前致谢.

xcode objective-c nsviewcontroller ios swift

5
推荐指数
1
解决办法
6417
查看次数

解雇nsviewcontroller swift不起作用

这是按钮动作:

    @IBAction func readyPressed(sender: NSButton) {

    self.dismissController(Hardness)
    println(1)
    self.performSegueWithIdentifier("manual", sender: self)
    }
Run Code Online (Sandbox Code Playgroud)

当我按下按钮,println工作,segue工作,但NSViewController"硬度"不关闭

macos xcode nsviewcontroller swift

5
推荐指数
2
解决办法
5162
查看次数

以编程方式呈现视图控制器 OS X

所以也许这很容易而且我很密​​集但是..

我试图从我的 MenuBarController 以编程方式打开一个显示在我的 main.storyboard 上的视图控制器。视图控制器没有附加任何转场,但我给视图控制器一个故事板 ID 测试。

这是针对 OS X 的,所以很抱歉我是故事板和 Segue 功能的新手。

我一直在尝试这个:

let storyBoard = NSStoryboard(name: "Main", bundle: nil)! as NSStoryboard
let myViewController = storyBoard.instantiateControllerWithIdentifier("test") as NSViewController
self.presentViewControllerAsModalWindow(myViewController)
Run Code Online (Sandbox Code Playgroud)

但是收到一个错误:

[NSNib initWithNibNamed:bundle:] 无法加载包中的 nibName: TestApp.MenuBarController (null)。

macos nsviewcontroller swift nsstoryboard

5
推荐指数
0
解决办法
6258
查看次数

在基于文档的 OS X 应用程序中的 NSViewController 上设置representedObject

我正在开发一个简单的 OS X Cocoa 应用程序,其中用户填写表单,应用程序执行一些在其他字段中弹出的计算。

我从 Xcode 6.3.2(适用于 Yosemite)上默认的基于文档的应用程序模板开始。该模板包含 NSDocument 的子类和 NSViewController 的子类。该接口在 Storyboard 中定义。NSDocument 在 makeWindowControllers 中从 Storyboard 初始化接口。

我在将接口片段绑定到 ViewController 的representedObject 时遇到了麻烦——结果我绑定到了 nil。ViewController 的 setRepresentedObject 方法永远不会被调用。

我尝试让 ViewController 在 vi​​ewDidLoad 中调用 setRepresentedObject 本身,但当时尚未设置 WindowController 的文档属性(它返回 nil)。

我不清楚是否可以从 NSDocument 获取 ViewController 的实例 - NSDocument 知道它的 window/WindowController,但我不确定如何从这些类中找到 ViewController。

我想知道 Xcode/Apple 的惯用方式来做到这一点。无论是通过故事板视图还是在我的代码中以编程方式实现。

如果可能的话,我还想避免代码耦合得太紧密。

cocoa objective-c nsdocument nsviewcontroller

5
推荐指数
1
解决办法
3223
查看次数

如何在故事板上使用NSPageController?

在我尝试添加NSPageController时的故事板上,它出现了它自己的视图.

当我想使用拆分视图时,我可以添加一个NSSplitViewController或只是一个拆分视图.我更喜欢在里面使用SplitView NSViewController.

无论如何我可以使用NSPageController内部NSViewController,然后选择一个子视图作为我的NSPageController内容?故事板不允许我将PageController放在View Controller中.有任何想法吗?

macos nsviewcontroller nsstoryboard xcode7

5
推荐指数
0
解决办法
473
查看次数

以编程方式在容器视图中切换视图控制器 - Swift 和 OS X

将 Swift 2.0 用于 OS X (10.9) 应用程序,我希望以编程方式将容器视图中的视图控制器(选项卡视图控制器)切换到另一个视图控制器(即用另一个视图控制器替换选项卡视图控制器)。当在任一选项卡视图上单击“安装”按钮并且满足某些条件(因此需要以编程方式执行此操作)时,就会发生这种情况。我不想使用转场(除非自定义转场替换窗口,而不是打开模态等)。

我是 Swift 和 mac 开发的初学者,并且没有运气从可靠且易懂的来源(对于初学者)找到我知道应该非常简单的解决方案。

在此处输入图片说明

macos nsviewcontroller swift

5
推荐指数
0
解决办法
717
查看次数

如何从应用程序委托访问 NSViewController?

在我的 macOS 应用程序中,我有菜单项,它们也在主 UI 中复制。应用程序由主窗口及其委托和单个视图及其视图控制器组成。在应用程序委托中,我捕获菜单项单击操作,然后我需要将此事件发送到我的视图控制器,以便采取适当的操作并更新主 UI。

问题是如何NSViewController从应用程序委托访问我的视图控制器 ( )?

macos nsviewcontroller appdelegate swift

5
推荐指数
1
解决办法
1221
查看次数

Cocoa Swift: Subview not resizing with superview

I'm adding a subview(NSView), here is my code:

override func viewDidAppear() {
    self.view.needsDisplay = true
    let newView = NSView()
    newView.autoresizesSubviews = true
    newView.frame = view.bounds
    newView.wantsLayer = true
    newView.layer?.backgroundColor = NSColor.green.cgColor
    view.addSubview(newView)
}
Run Code Online (Sandbox Code Playgroud)

And it works fine

在此输入图像描述 But when I resize the window the subview is not resizing.

在此输入图像描述

Any of you knows why or how can make the subview resize with superview?

I'll really appreciate your help

cocoa nsview nsviewcontroller swift xcode10.2

5
推荐指数
1
解决办法
1353
查看次数