1
저는 iOS 개발자로서 간단한 데스크톱 앱을 만들고 싶습니다. 스위치가 완벽해질 것이라고 생각했지만 그렇지 않았습니다.코코아 앱에 텍스트보기가 표시되지 않습니다.
(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)"펜촉을로드했지만보기가 설정되지 않았습니다.
이 문제를 해결하는 방법을 모르겠습니다. iOS에서와 마찬가지로 펜촉없이 앱을 만들려면 어떻게해야합니까?
정말요? iOS에서는 스토리 보드를 사용하지 않고 UIViewController를 하위 클래스로 설정하여 수동으로 설정합니다. – user1007522
@ user1007522 OSX에서보기 컨트롤러를 사용할 수 있지만 주된 목적은 NIB에서로드하는 것을 용이하게하는 것이므로 사용자가 필요하지 않습니다. – Droppy
참고 : NIB를 사용하면 Masonry (자동 레이아웃 프레임 워크)를 사용할 수 없습니다. 그리고 사용자 인터페이스 빌더에서 자동 레이아웃을하는 것이 싫다. – user1007522