MacOS 和iOS 開發細節上的不同(OC)

此處默認讀者都已掌握 iOS 開發,只記錄macOS 上的代碼。


UI框架

UIKit正是在Cocoa的基礎上封裝而成

iOS 中
#import <UIKit/UIKit.h>

OS X 的開發中用的是
#import <Cocoa/Cocoa.h>


設置View背景色

    self.imgView.wantsLayer = true;
    self.imgView.layer.backgroundColor = [NSColor cyanColor].CGColor;

Lable

獲取一個label的標題

iOS:
NSString* labStr = label.text;

OS X:
NSString* labStr = label.stringValue;

iOS的 label 其實是Mac中 textField 封裝而成

textField 關閉編輯功能,取消邊框,禁止選中,就成了label。
如下:

NSTextField* textfiled = [[NSTextField alloc]initWithFrame:NSMakeRect(0, 0, 100, 50)];
[textfiled setBordered:NO];
[textfiled setEditable:NO];
[textfiled setSelectable:NO];
textfiled.stringValue = @"test";

leftImage屬性

而且iOS的UILabel有leftImage屬性,可以在輸入框內左側添加小icon,而NSTextfield內沒有,需要自己定製;


Button

按鈕添加點擊事件

OS X 中沒有了addTarget,而是使用 setAction
[self.btn setAction:@selector(btnOnClick:)];

或者

button.action=@selector(click);


窗口

MacOS 是多個窗口,iOS 只有一個窗口。所以對窗口的使用很重要。看過好幾個教程中,都建議創建一個類 A 繼承自 NSWindowController, 勾選xib。後續窗口繼承自A比較好。優於

不使用storyboard , 使用xib 創建窗口,方法如下:
http://blog.csdn.net/y_zhangpengwei/article/details/50817132


工具欄


持續更新…


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章