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


工具栏


持续更新…


上一篇:javascript-Wicket 1.5自动完成文本字段onUpdate行为未调用


下一篇:《阿里巴巴Java开发手册》更新为《Java开发手册》