我是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上一样?
答案 0 :(得分:1)
如果您没有从NIB加载视图,则几乎不需要视图控制器。
放弃视图控制器和子类NSView
,并将其设置为窗口的内容视图。
注意:你不使用IB就可以为自己做背杖。