Я разработчик iOS, и я хочу создать простое настольное приложение. Я думал, что переключатель будет идеальным, но это не так.Приложение Cocoa не показывает textview
Я создал приложение для какао (из шаблона 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] загрузил «(нулевой)» нить, но не было установлено никакого представления.
Я не знаю, как это решить. Как я могу создать приложение без наконечника, как и в iOS?
Действительно? На iOS я не использую раскадровки или что-то еще, и я просто подклассифицирую UIViewController, чтобы установить его вручную. – user1007522
@ user1007522 Вы можете использовать контроллеры представлений под OSX, но их основная цель - облегчить загрузку из NIB, поэтому вам не нужны они в вашем случае. – Droppy
На заметку: когда я использую NIB, я не могу использовать масонство (рамки макета). И я ненавижу делать автоматическую компоновку в построителе пользовательского интерфейса. – user1007522