// UILabel -> UIView  

// UILabel用来显示文字内容

//创建一个Label,一般都直接通过initWithFrame确定位置跟大小

UILabel *lb = [[UILabel alloc]initWithFrame:CGRectMake(50, 80, 200, 200)];

//设置背景色,系统默认是白色背景

lb.backgroundColor = [UIColor grayColor];

//设置文字

lb.text = @"Application windows are expected to have a root view controller at the end of application launch";

//设置文字的颜色后,并通过colorWithAlphaComponent设置它的透明度(0~1),系统默认为黑色

lb.textColor = [[UIColor redColor] colorWithAlphaComponent:0.5];

//设置字体大小,系统默认为17

lb.font = [UIFont systemFontOfSize:20];

//设置粗体,同时设置字体大小

//lb.font = [UIFont boldSystemFontOfSize:20];

//设置斜体,中文字体不生效

//lb.font = [UIFont italicSystemFontOfSize:20];

//  使用其他字体

//lb.font = [UIFont fontWithName:@"Avenir Next Condensed" size:20];

//倘若需要,可以通过以下函数来输出iPhone所有的字体库

//NSLog(@"%@",[UIFont familyNames]);

//设置字体的对齐方式

/*

NSTextAlignmentLeft            系统默认值

NSTextAlignmentCenter        字体居中

NSTextAlignmentRight          字体右对齐

NSTextAlignmentJustified      段落的最后一行是natural-aligned

NSTextAlignmentNatural        跟左对齐没什么差别,目前还不怎么了解,欢迎指点

*/

lb.textAlignment =  NSTextAlignmentCenter;

  //设置文字的阴影效果

lb.shadowColor = [UIColor blueColor];

 //设置阴影偏移量(偏移方向,自己通过多多尝试就明白了,这里就不做过多的讲述)

lb.shadowOffset = CGSizeMake(-5, 5);

效果图如下

  

 //文字的折行模式

/*

NSLineBreakByWordWrapping          以单词作为截取,以单词换行

NSLineBreakByCharWrapping           以字符作为截取,以字符换行

NSLineBreakByClipping               以单词为截取,以字符换行

NSLineBreakByTruncatingHead         Truncate at head of line: "...wxyz"

NSLineBreakByTruncatingTail          Truncate at tail of line: "abcd..."

NSLineBreakByTruncatingMiddle        Truncate middle of line:  "ab...yz

*/

  [注意]换行模式要结合下面的numberOfLines才能看得出效果

lb.lineBreakMode = NSLineBreakByTruncatingHead;

// 换行模式,默认为0,代表可以任意行

lb.numberOfLines = 3 ;

 //设置文字高亮时的颜色[两者要结合使用才能看出效果]

lb.highlightedTextColor = [UIColor yellowColor];

//设置文字是否高亮

lb.highlighted = YES;

  

  //设置是否与用户互动,默认值为NO,一般都是没去修改它的,因为几乎没有用标签于用户互动

lb.userInteractionEnabled = NO;

//是否可变

lb.enabled = NO;

  //最后说一个很重要的,也经常在标签要用到的方法

  /*

通过text文字的多少来计算文字的宽与高

参数1: label最大显示的矩形区域,比如下面的320跟 CGFLOAT_MAX就是这个Label标签的宽跟高的最大值

参数2: 计算的附加条件,例如换行模式

一般使用: NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin

Leading: 行与行之间的间隔

Origin: 每一行所占据的矩形区域

参数3: 是一个字典,计算一些属性,比例文字的大小等

  返回值是一个CGRect

*/

CGSize size = [text boundingRectWithSize:CGSizeMake(320, CGFLOAT_MAX) options:NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:20]} context:NULL].size;

  

 新手可以试着全部用标签做出这个界面,练练手

UILabel用法的更多相关文章

  1. iOS基础UI控件介绍-Swift版

    iOS基础UI控件总结 iOS基础控件包括以下几类: 1.继承自NSObject:(暂列为控件) UIColor //颜色 UIImage //图像 2.继承自UIView: 只能相应手势UIGest ...

  2. UILabel 的属性(用法)方法

    Label 中常用的方法属性 UILabel *label =[[UILabel alloc]initWithFrame:CGRectMake(90, 100, 140, 40)];//设置Label ...

  3. Swift - 文本标签(UILabel)的用法

    1,标签的创建 1 2 3 4 5 6 7 8 9 10 import UIKit class ViewController: UIViewController {     override func ...

  4. iOS UIlabel怎么加载html字符串 富文本的用法

    要加载html字符串,用人说,直接用webView啊!但是,有时候我们只需要显示2行文字,如此少的内容却要在复杂的UI排版中加入一个占用资源较多的webview,得不偿失.这里要说的是,我们其实可以用 ...

  5. swift - UILabel的用法

    1.label的声明 class FirstyViewController: UIViewController { var label = UILabel()//初始化 override func v ...

  6. 给iOS开发新手送点福利,简述UILabel的属性和用法

    UILabel属性 1.text:设置标签显示文本. label.text = @"我是Label"; 2.attributedText:设置标签属性文本. NSString *t ...

  7. UILabel常见用法

    //创建一个UILabel UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(50 , 100 , 200 , 560)]; // ...

  8. UI 经常用法总结之--- UILabel UITextField (不断更新中)

    UILabel : UIView <NSCoding> 1.创建一个UILabel对象 UILabel *label = [[UILabel alloc]initWithFrame:CGR ...

  9. UILabel基本用法

    UILabel *_label = [[UILabel alloc]initWithFrame:CGRectMake(, self.view.frame.size.height*)]; _label. ...

随机推荐

  1. 关于DataTable的两篇基础文章

    DataTable有的时候还是很有用的.记录两篇不错的文章,当字典 1.http://blog.csdn.net/imagse/article/details/3085870 2.https://ms ...

  2. ASP.NET MVC必知必会知识点总结(二)

    一.实现Controller的依赖注入: 1.自定义继承DefaultControllerFactory 类的控制器工厂类并重写GetControllerInstance方法:(如:InjectCon ...

  3. C语言学习011:带参数的main函数

    直接上代码 #include <stdio.h> int main(int argc,char *argv[]){ printf("%i \n",argc); int ...

  4. [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(3)

    这个系列已经写了5篇,链接地址如下: [Asp.net 5] DependencyInjection项目代码分析 [Asp.net 5] DependencyInjection项目代码分析2-Auto ...

  5. 【FTP】C# System.Net.FtpClient库连接ftp服务器(下载文件)

    如果自己单枪匹马写一个连接ftp服务器代码那是相当恐怖的(socket通信),有一个评价较高的dll库可以供我们使用. 那就是System.Net.FtpClient,链接地址:https://net ...

  6. Think PHP项目在阿里云的虚拟主机上部署

    购买完万网的虚拟主机后,今天终于把以前一个项目转成了PHP项目,我用的是TP框架,阿里的虚拟主机还是很方便上手的,在把数据库导入完后,用FTP把程序文件上传到服务器上,阿里的虚拟主机(Linux主机) ...

  7. SignalR入门之小试身手

    建立好持久性连接类TestConnection之后,现在为我们的SignalR程序配置持久性连接类以及访问路径. 进入刚刚建立的Startup类,进入Configuration这个方法里来配置: us ...

  8. Mysql 大小写问题

    今天发布程序的时候,日志报错找不到表,但是系统中已经存在表,最后发现是sql大小写的问题,mysql默认设置导致这些执行失败. 1.用ROOT登录,修改/etc/my.cnf 2.在[mysqld]下 ...

  9. IOS----友盟推送详解

    这两天好好的研究了下推送这功能,关于它我将分成两部分来讲,一.IOS手机端,二.Servlet服务端,今天先讲下IOS端 一.感受 下面讲下我对推送这个功能在IOS下的感受,这个算是我做了服务端的功能 ...

  10. [moka同学笔记]Yii2.0显示页匿名函数设置$value

    匿名函数设置$value <?= GridView::widget([ 'dataProvider' => $dataProvider, 'columns' => [ // ['cl ...