微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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


工具栏


持续更新…


版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐