#import "ViewController.h"

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

// 1.

UILabel *label = [[UILabel alloc] init];

// 1.1 text

label.text = @"//  ViewController.m01-UILabelCreated byjiaguanglei on 15/9/30Copyright (c) 2015年 roseonly. All rights reserved.";

// 1.2 font

/**

const CGFloat UIFontWeightUltraLight;

const CGFloat UIFontWeightThin;

const CGFloat UIFontWeightLight;

const CGFloat UIFontWeightRegular;

const CGFloat UIFontWeightMedium;

const CGFloat UIFontWeightSemibold;

const CGFloat UIFontWeightBold;

const CGFloat UIFontWeightHeavy;

const CGFloat UIFontWeightBlack;

+ (UIFont *)systemFontOfSize:(CGFloat)fontSize;

+ (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize;   -- 粗体

+ (UIFont *)italicSystemFontOfSize:(CGFloat)fontSize; -- 斜体

+ (UIFont *)systemFontOfSize:(CGFloat)fontSize weight:(CGFloat)weight NS_AVAILABLE_IOS(8_2);

*/

label.font = [UIFont systemFontOfSize:20 weight:UIFontWeightBlack];

// 1.3 textColor

label.textColor = [UIColor magentaColor];

// 1.4 shadowColor

label.shadowColor = [UIColor greenColor];

// 1.5 shadowOffset

label.shadowOffset = CGSizeMake(2, 2);

// 1.6 textAlignment

/**

NSTextAlignmentLeft      = 0,    // Visually left aligned

NSTextAlignmentCenter    = 1,    // Visually centered

NSTextAlignmentRight     = 2,    // Visually right aligned

NSTextAlignmentJustified = 3,   // Fully-justified. The last line in a paragraph is natural-aligned.

NSTextAlignmentNatural   = 4,  // Indicates the default alignment for script

*/

label.textAlignment = NSTextAlignmentLeft;

// 1.7 lineBreakMode

/**  --- 设置换行格式

*  with long lines

NSLineBreakByWordWrapping = 0, --- 以单词为单位, 自动换行, 显示不全, 没有省略号

NSLineBreakByCharWrapping --- 以字符为单位自动换行, 没有省略号

NSLineBreakByClipping     --- 直接切除, 可能显示半个字符

NSLineBreakByTruncatingHead --- 在行头部, 显示省略号

NSLineBreakByTruncatingTail --- 在行尾部, 显示省略号

NSLineBreakByTruncatingMiddle --- 在行中间, 显示省略号

*/

label.lineBreakMode = NSLineBreakByTruncatingTail;

// 1.8 highlighted

// 1.8.1 highlightedTextColor

label.highlighted = NO;

label.highlightedTextColor = [UIColor blackColor];

// 1.9 enabled

// 1.9.1 userInteractionEnabled

label.enabled = YES;

label.userInteractionEnabled = YES;

// 1.10 numberOfLines

label.numberOfLines = 0;

// 1.11 adjustsFontSizeToFitWidth

label.adjustsFontSizeToFitWidth = YES;

// 1.11.1 adjustsLetterSpacingToFitWidth  --  已过期, 用NSKernAttributeName替换

// 1.11.2 minimumFontSize  --- --  已过期, 用minimumScaleFactor替代

label.minimumScaleFactor = .8;

// 1.11.3 baselineAdjustment

/**

UIBaselineAdjustmentAlignBaselines = 0, // default.

UIBaselineAdjustmentAlignCenters,

UIBaselineAdjustmentNone,

*/

label.baselineAdjustment = UIBaselineAdjustmentNone;

// 1.12 -- 绘图中可能会用到

/**

- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines;

- (void)drawTextInRect:(CGRect)rect;

@property(nonatomic) CGFloat preferredMaxLayoutWidth NS_AVAILABLE_IOS(6_0);

*/

// 1.13 attributedText

NSDictionary *attrs = @{NSForegroundColorAttributeName : [UIColor redColor]};

NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:label.text attributes:attrs];

label.attributedText = attrString;

CGSize size = [UIScreen mainScreen].bounds.size;

label.frame = CGRectMake(10, 100, size.width - 20, 50);

label.backgroundColor = [UIColor lightGrayColor];

[self.view addSubview:label];

}

文档学习 - UILabel - 属性详解的更多相关文章

  1. elasticsearch系列三:索引详解(分词器、文档管理、路由详解(集群))

    一.分词器 1. 认识分词器  1.1 Analyzer   分析器 在ES中一个Analyzer 由下面三种组件组合而成: character filter :字符过滤器,对文本进行字符过滤处理,如 ...

  2. 一个完整的WSDL文档及各标签详解

    <?xml version="1.0" encoding="UTF8" ?> <wsdl:definitions targetNamespac ...

  3. 使用vs code编写Markdown文档以及markdown语法详解

    首先安装vscode工具,下载地址如下: https://code.visualstudio.com/ 在vs code的扩展中安装: Markdown Preview Enhanced 这款插件,安 ...

  4. MongoDB开发深入之一:文档数据关系模型详解(一对多,多对多)

    文档关联模型通常有3种方式: 嵌入式(一对一.一对多) 后期手动统一ID处理(一对多.多对多) References引用(一对一.一对多) 文档树模型通常有3种方式: 父引用(Parent Refer ...

  5. 轻松学习Linux之Shell文件和目录属性详解

    轻松学习Linux之Shell文件和目录属性详解 轻松学习Linux之理解Sitcky 轻松学习Linux之理解umask 轻松学习Linux之理解SUID&SGUID 本系列多媒体教程已完成 ...

  6. 第15.10节 PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWidget类相关的组件属性详解

    PyQt学习有阵子了,对章节的骨架基本考虑好了,准备本节就写组件的属性的,结果一是日常工作繁忙,经常晚上还要加班,二是Qt的组件属性很多,只能逐一学习.研究和整理,花的时间有点长,不过终于将可视化设计 ...

  7. Android零基础入门第80节:Intent 属性详解(下)

    上一期学习了Intent的前三个属性,本期接着学习其余四个属性,以及Android系统常用内置组件的启动. 四.Data和Type属性 Data属性通常用于向Action属性提供操作的数据.Data属 ...

  8. OutputCache属性详解(一)一Duration、VaryByParam

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

  9. OutputCache属性详解(三)— VaryByHeader,VaryByCustom

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

随机推荐

  1. Ajax之旅(一)--什么是Ajax

    本来在学习DRP,但是无意中发现所附资料中有一些參考书籍,当中就有一个关于Ajax的,看了看,挺好的,于是决定暂停一下DRP,再次学习一下Ajax.记得第一遍学习Ajax的时候认为真的是一团雾水,看了 ...

  2. lambda显式声明返回值

    10.21 编写一个lambda,捕获一个局部int变量,并递减变量值,直至它变为0.一旦变量变为0,再调用lambda应该不再递减变量.lambda应该返回一个bool值,指出捕获的变量是否为0. ...

  3. ThinkPHP函数详解:import方法

    import方法是ThinkPHP框架用于类库导入的封装实现,尤其对于项目类库.扩展类库和第三方类库的导入支持,import方法早期的版本可以和java的import方法一样导入目录和通配符导入,后来 ...

  4. Android开发之Handler

    我们都知道应用程序开启后,安卓会开启一个主线程(UI线程),主线程管理UI控件,进行事件分发.那为什么会出现Handler呢? 例如你要是点击一个 Button ,Android会分发事件到Butto ...

  5. 保留关键字 (Transact-SQL)

    https://msdn.microsoft.com/zh-cn/library/ms189822(v=sql.120).aspx Microsoft SQL Server 将保留关键字用于定义.操作 ...

  6. 项目由Windows2003 迁移到Windows 2008 过程,报 JS错误

    这两天在做服务器迁移,遇到了一些小的问题,现在做个粗略的记录 原服务器环境:Windows 2003 现服务器环境:Windows 2008 其中SSB项目在迁移部署后发现,报 JS的错误. 我在想除 ...

  7. c# web页面乱码

    1.在web.config中加入:<globalization requestEncoding="GB2312" responseEncoding="GB2312& ...

  8. MinGW-notepad++开发c/c++程序

    下载MinGW 点击下载 安装好后运行 最后点击左上角的 Installation,开始安装 1.编译: g++ -o a.exe a.cpp gcc -o hello.exe hello.c 2.运 ...

  9. PAT_1040 有几个PAT

    问题描述: 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T):第二个PAT是第3位(P),第4位(A),第6位(T). 现给定字符串,问一共可以 ...

  10. time.h文件中包含的几个函数使用时须注意事项

    time.h头文件中包含以下函数 char* asctime(const struct tm *tm); char* asctime_r(const struct tm *tm,char *buf); ...