第一個Mac OS X專案(純程式碼)
本文作為快速建立專案入門,細節不做闡述,請自行探索
Mac OS X 的座標系不同於IOS
IOS 原點在螢幕左上角
Mac OS X 原點在左下角
Mac alloc init 一個viewcontroll 不會自動建立view
IOS 會自動建立view
所以Mac OS 的 ViewController
都需要實現loadView 方法
初始化view
建立專案
啟動 Xcode
選擇 建立新專案
頂部 選擇macOS
Application 下 選擇 cooca App
點選next
取消勾選Use Storyboards
點選next
既然是純程式碼開發
那麼移除目錄中所有.xib檔案
也就是把所有.xib結尾的都刪掉
同時info.plist 移除對應的key
完成專案建立
編寫程式碼
編輯main.m
#import <Cocoa/Cocoa.h>
#import "AppDelegate.h"
int main(int argc, const char * argv[]) {
NSApplication *app = [NSApplication sharedApplication];
id delegate = [[AppDelegate alloc] init];
app.delegate = delegate;
return NSApplicationMain(argc, argv);
}
編輯appDelegate.m
#import "AppDelegate.h"
@interface AppDelegate ()
@property (nonatomic, strong) NSWindow *window;
@end
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Insert code here to initialize your application
//視窗 關閉,縮小,放大等功能,根據需求自行組合
NSUInteger style = NSWindowStyleMaskTitled | NSWindowStyleMaskClosable |NSWindowStyleMaskMiniaturizable | NSWindowStyleMaskResizable;
float w = [[NSScreen mainScreen] frame].size.width/2;
float h = [[NSScreen mainScreen] frame].size.height/2;
self.window = [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, w, h) styleMask:style backing:NSBackingStoreBuffered defer:YES];
self.window.title = @"hello";
[self.window makeKeyAndOrderFront:self];
[self.window center];
}
- (void)applicationWillTerminate:(NSNotification *)aNotification {
// Insert code here to tear down your application
}
@end
建立第一個ViewController
快捷鍵commad+n
編輯HomeViewController
#import "HomeViewController.h"
@interface HomeViewController ()
@end
@implementation HomeViewController
- (void)loadView{
NSRect frame = [[[NSApplication sharedApplication] mainWindow] frame];
self.view = [[NSView alloc] initWithFrame:frame];
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do view setup here.
//do like ios
NSButton *button = [[NSButton alloc] initWithFrame:NSMakeRect(0, 0, 100, 100)];
[button setTitle:@"button"];
[self.view addSubview:button];
}
@end
再次編輯appdelete.m
#import "AppDelegate.h"
#import "HomeViewController.h"
@interface AppDelegate ()
@property (nonatomic, strong) NSWindow *window;
@property (nonatomic, strong) HomeViewController *homeVC;
@end
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Insert code here to initialize your application
//
NSUInteger style = NSWindowStyleMaskTitled | NSWindowStyleMaskClosable |NSWindowStyleMaskMiniaturizable | NSWindowStyleMaskResizable;
float w = [[NSScreen mainScreen] frame].size.width/2;
float h = [[NSScreen mainScreen] frame].size.height/2;
self.window = [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, w, h) styleMask:style backing:NSBackingStoreBuffered defer:YES];
self.window.title = @"hello";
[self.window makeKeyAndOrderFront:nil];
[self.window center];
self.homeVC = [[HomeViewController alloc] init];
[self.window setContentViewController:self.homeVC];
}
- (void)applicationWillTerminate:(NSNotification *)aNotification {
// Insert code here to tear down your application
}
@end
執行一下,看看效果吧
更多功能自行探索
你會成長很多
相關文章
- Flutter 建立第一個專案 for macFlutterMac
- Mac OS X 顯示和隱藏檔案Mac
- Mac開發基礎04-第一個Mac專案Mac
- Mac OS X 清除DNS快取MacDNS快取
- Windows、Linux、Unix、Mac OS X系統哪個更好用?WindowsLinuxMac
- Mac OS X 避免產生臨時檔案 .DS_StoreMac
- 第一個SpringBoot專案Spring Boot
- 第一個activity專案
- Hammerspoon for Mac - OS X桌面自動化神器Mac
- Django建立第一個專案Django
- 建立第一個django專案Django
- Mac OS X 下檔名亂碼出現的原因和解決方法Mac
- Mac OS X下實現矩形部分圓角Mac
- SpringBoot專案建立與第一個SSM專案示例Spring BootSSM
- 我的第一個Laravel專案Laravel
- 第一個 vue-cli專案Vue
- 第一個Spring程式(程式碼篇)Spring
- Mac(OS X)中Git安裝與GitHub基本使用MacGithub
- Mac OS X 上的PHP開發環境 vimMacPHP開發環境
- 純Swift專案-序篇Swift
- PyCharm 建立純Python專案PyCharmPython
- Vue 專案升級到 webpack4.x 小紀【附程式碼】VueWeb
- 個人 Laravel 論壇專案 (程式碼開源)Laravel
- 全棧低程式碼專案,你手寫一個企業級的低程式碼全棧專案全棧
- 第一個分散式爬蟲專案分散式爬蟲
- 第一次個人專案
- Flask01 第一個flask專案Flask
- Mac OS X 10.15 編譯安裝 Nginx詳細教程Mac編譯Nginx
- Flutter仿京東商城專案:支援最新的Flutter 3.x及鴻蒙OSFlutter鴻蒙
- Mac OS 下配置多個 SSH KeyMac
- Vue Cli3.x搭一個專案Vue
- 新碰一個專案,專案程式碼拉取之後所需要做的事情
- Scrapy入門-第一個爬蟲專案爬蟲
- [記錄] 很久不用的 Mac OS X 開發環境搭建Mac開發環境
- 專案管理軟體:Project Office X Pro mac中文版專案管理ProjectMac
- Project Office X Pro Mac(甘特圖專案管理軟體)ProjectMac專案管理
- android 一套程式碼多用 以及 多套程式碼用於一個專案Android
- [譯]純程式碼建立 UIViewUIView