Cocoa应用程序不显示textview

时间:2014-10-15 08:28:33

标签: objective-c cocoa

我是iOS开发人员,我想创建一个简单的桌面应用。我认为转换会很完美,但事实并非如此。

我已经创建了一个cocoa app(来自xCode模板)。现在我不想使用用户界面构建器和东西,所以我写了我的第一个控制器:

@interface MainViewController ()
@property (nonatomic, strong) NSTextView *test;
@end

@implementation MainViewController

-(instancetype) init
{
    self = [super init];
    if(self)
    {
        NSLog(@"%s", __PRETTY_FUNCTION__);
        _test = [[NSTextView alloc] init];
        [_test setString:@"DKDDK"];
        [self.view addSubview:_test];

        [_test mas_makeConstraints:^(MASConstraintMaker *make) {
            make.edges.equalTo(self.view);
        }];
    }
    return self;
}

@interface MainViewController : NSViewController

@end

我只使用模板创建的NSWindow:

@interface AppDelegate ()

@property (weak) IBOutlet NSWindow *window;
@end

@implementation AppDelegate

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    // Insert code here to initialize your application

    MainViewController * mainView = [[MainViewController alloc] init];


    [self.window.contentView addSubview:mainView.view];
    mainView.view.frame = ((NSView*)self.window.contentView).bounds;
}

当我运行应用程序时,它给了我:

[NSViewController loadView]加载"(null)" nib但没有设置视图。

我不知道如何解决这个问题。如何在没有笔尖的情况下创建应用程序,就像在iOS上一样?

1 个答案:

答案 0 :(得分:1)

如果您没有从NIB加载视图,则几乎不需要视图控制器。

放弃视图控制器和子类NSView,并将其设置为窗口的内容视图。

注意:你不使用IB就可以为自己做背杖。