iOS到Mac OS之自定义Label
2016-04-22 17:28
381 查看
Mac OS中没有像iOS一样的UILabel。
一般我们可以用cell去显示一段文字,或者用textfield,或者直接draw。几种方式都是可行的。
这里提供了一个自定义的label。
里面用到了CATextlayer这个类去做的;CATextlayer的属性和方法可以通过API去查看;
使用CATextLayer需要,#import <QuartzCore/QuartzCore.h>
这个东西可以在iOS中使用,也可以在Mac OS中使用,还是很方便的。
有一点需要注意的是:::Mac OS中使用CATextLayer时,需要先设置someview.wantsLayer = YES;否则加载不出来。
NSAttributedString,利用这个类,我们可以让一个label呈现出不同颜色的文字,还可以设置行间距,字间距等。
下面列举简单的用法,其他大同小异。
一般我们可以用cell去显示一段文字,或者用textfield,或者直接draw。几种方式都是可行的。
这里提供了一个自定义的label。
里面用到了CATextlayer这个类去做的;CATextlayer的属性和方法可以通过API去查看;
使用CATextLayer需要,#import <QuartzCore/QuartzCore.h>
这个东西可以在iOS中使用,也可以在Mac OS中使用,还是很方便的。
CATextLayer *layer = [CATextLayer layer]; //初始化 layer.string = @"dasfasa"; //设置文字 layer.frame = CGRectMake(0, 0, 320, 20); //设置frame layer.font = (__bridge CFTypeRef)((NSString *)fontName); //设置字体 layer.fontSize = 10.0f; //设置字体大小 layer.alignmentMode = kCAAlignmentCenter; //字体的对齐方式 layer.foregroundColor =[NSColor redColor].CGColor; //字体的颜色 layer.wrapped = YES; //设置文字是不是只限制在frame中 layer.contentsScale = 2.0; //2不模糊 [someview.layer addSublayer:lary];CATextLayer的优势在于,它的string属性是id类型的,可以直接赋NSAttributedString类型的值。
有一点需要注意的是:::Mac OS中使用CATextLayer时,需要先设置someview.wantsLayer = YES;否则加载不出来。
NSAttributedString,利用这个类,我们可以让一个label呈现出不同颜色的文字,还可以设置行间距,字间距等。
下面列举简单的用法,其他大同小异。
_attributeString = [[NSMutableAttributedString alloc] initWithString:_text]; //文字颜色 [_attributeString addAttribute:(NSString *)kCTForegroundColorAttributeName value:(id)[NSColor redColor].CGColor range:NSMakeRange(0, _text.length-1)]; //字体-字体大小 [_attributeString addAttribute:(NSString *)kCTFontAttributeName value:[NSFont systemFontOfSize:10.0f] range:NSMakeRange(0, _text.length-1)];这里奉上一个简单的LabelDemo:点击下载LabelDemo
相关文章推荐
- iOS 应用安全攻防(六):Clutch
- iOS 自定义控件--纯代码或者xib&storyBoard 系统会调用的方法
- iOS自定义键盘
- Nagios 监控系列学习 ―― NRPE 理解
- iOS --Xcode 调试技术
- iOS之一个超赞的视频直播、第三方库,直播看这个就够了,支持RTMP推流,美颜直播
- IOS开发需要知道的知识-RunLoops
- iOS MJRefresh 刷新
- iOS-时间戳转时间
- iOS开发- 相机(摄像头)获取到的图片自动旋转90度解决办法
- HDU 1017 - A Mathematical Curiosity
- iOS-使用第三方实现短信验证码功能
- iOS 循环线程
- iOS学习:提高iOS开发效率的好习惯你拥有几种!
- iOS生成静态库方法-iOS集成静态库-iOS合并静态库
- iOS--- 关于枚举的使用
- IOS 设置label内的字体大小适应label的宽度
- iOS 在视图控制器里面判断 应用程序的前台
- iOS 用 SDWebImage 清理图片缓存
- iOS开发 剖析网易新闻标签栏视图切换(addChildViewController属性介绍)