MacOS 和iOS 开发细节上的不同(OC)

原创 2017年09月06日 16:36:56

此处默认读者都已掌握 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


工具栏


持续更新…


版权声明:本文为博主原创文章,转载请附上本文链接地址。

相关文章推荐

MacOS 开发 - NSWindow 的创建和跳转

创建 Window 和 WindowController 跳转 返回经典用法 使用 xib 来创建 NSWindowController,并让后续的调用都继承自这个类。1、创建项目时,不勾选 Use...

OSX 简易入门教程

原文:http://www.raywenderlich.com/17811/how-to-make-a-simple-mac-app-on-os-x-10-7-tutorial-part-13 ...
  • wabil
  • wabil
  • 2016年03月26日 12:06
  • 1687

MacOS 上的 NSCell(比较 NSButton 和 NSButtonCell )

NSButton 和 NSButtonCell 的继承关系 Cell和Control 的关系本文选摘自 关于NSCell : http://cocoa.venj.me/blog/about-nsce...

用objective c开发的第一个mac程序(2)——初识oc cocoa swift

第一阶段其实很蛋疼,牛人可能1个小时,半个小时,甚至10来分钟就能搞定了,而我却用了几天!这几天对我来说是挺打击的,自信心沉了一半……接着第一阶段的记录,继续……思路如下:1. 编译boost库(ma...

MacOS 选择照片、相机拍照(步骤详解配demo下载)

步骤 UI部分 1在面板上放置一个button 和一个 imageView这里直接使用xib了 2将xib 上的控件关联到控制器的代码中 代码部分 1引用头文件 2在按钮点击事件中 调用方法 3实现接...

MacOS 开发 - NSComboBox

定义 创建 不使用数据源方法 使用数据源和代理定义NSComboBox 继承自 NSTextField(所以有 backgroundColor 属性)。创建- (void)addComboBox{ ...

iOS 开发中的细节知识点之UILabel篇

UILabel: UILabel *Label=[[UILabel alloc]initWithFrame:CGRectMake(0, 100, 200, 20)]; //字体加阴影模糊效果 N...

iOS 开发中弄不清楚的小细节之数组 ——array == nil 和 [array count] == 0区别

很多时候我们开发者往往对一些比较难的技术点相对要熟悉一些,而对一些细节或者说感觉比较简单的问题总是弄不清楚,而数组的判断首当其冲。 我们在做开发的时候,需要数据,可是很多时候从服务器下发的数据都是J...

【IOS 开发学习总结-OC-24】★★★objective-c——内存管理

【IOS 开发学习总结-OC-24】★★★objective-c——内存管理手动内存管理内存泄露:我们在用面向对象的语言编程时,会不断地创造对象,随着时间的推移,有些老的对象不再会被调用,也不再有指针...

【IOS 开发学习总结-OC-37】★文件 I/O——对象归档

何为对象归档?对象归档——就是用某种格式把一个或多个对象保存到指定文件中,方便以后从文件中恢复它们。类似于其他语言中的序列化机制。 归档包括2方面的操作:1,将对象写入指定文件;2,从文件中恢复这...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MacOS 和iOS 开发细节上的不同(OC)
举报原因:
原因补充:

(最多只允许输入30个字)