UILabel用法
// 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用法的更多相关文章
- iOS基础UI控件介绍-Swift版
iOS基础UI控件总结 iOS基础控件包括以下几类: 1.继承自NSObject:(暂列为控件) UIColor //颜色 UIImage //图像 2.继承自UIView: 只能相应手势UIGest ...
- UILabel 的属性(用法)方法
Label 中常用的方法属性 UILabel *label =[[UILabel alloc]initWithFrame:CGRectMake(90, 100, 140, 40)];//设置Label ...
- Swift - 文本标签(UILabel)的用法
1,标签的创建 1 2 3 4 5 6 7 8 9 10 import UIKit class ViewController: UIViewController { override func ...
- iOS UIlabel怎么加载html字符串 富文本的用法
要加载html字符串,用人说,直接用webView啊!但是,有时候我们只需要显示2行文字,如此少的内容却要在复杂的UI排版中加入一个占用资源较多的webview,得不偿失.这里要说的是,我们其实可以用 ...
- swift - UILabel的用法
1.label的声明 class FirstyViewController: UIViewController { var label = UILabel()//初始化 override func v ...
- 给iOS开发新手送点福利,简述UILabel的属性和用法
UILabel属性 1.text:设置标签显示文本. label.text = @"我是Label"; 2.attributedText:设置标签属性文本. NSString *t ...
- UILabel常见用法
//创建一个UILabel UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(50 , 100 , 200 , 560)]; // ...
- UI 经常用法总结之--- UILabel UITextField (不断更新中)
UILabel : UIView <NSCoding> 1.创建一个UILabel对象 UILabel *label = [[UILabel alloc]initWithFrame:CGR ...
- UILabel基本用法
UILabel *_label = [[UILabel alloc]initWithFrame:CGRectMake(, self.view.frame.size.height*)]; _label. ...
随机推荐
- SQL Server时间粒度系列----第6节基于当前日的小时数和分钟数与mysql unix_timestamp和from_unixtime的mssql实现
本文目录列表: 1.基于当前日的小时数和分钟数2.mysql unix_timestamp和from_unixtime的mssql实现 3.总结语 4.参考清单列表 基于当前日的小时数和分钟数 ...
- .Net语言 APP开发平台——Smobiler学习日志:用Gridview控件设计较复杂的表单
最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的”Smobil ...
- 【FTP】C# System.Net.FtpClient库连接ftp服务器(下载文件)
如果自己单枪匹马写一个连接ftp服务器代码那是相当恐怖的(socket通信),有一个评价较高的dll库可以供我们使用. 那就是System.Net.FtpClient,链接地址:https://net ...
- jQuery实用的语法总结
1.关于页面元素的引用 通过jquery的$()引用元素包括通过id.class.元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用do ...
- LINQ TO SQL 大全
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 LINQ to SQL语句(1)之Where 适用场景: ...
- .net微信公众号开发——消息与事件
作者:王先荣 本文介绍如何处理微信公众号开发中的消息与事件,包括:(1)消息(事件)概况:(2)验证消息的真实性:(3)解析消息:(4)被动回复消息:(5)发送其他消息. 开源项目地址:h ...
- ROW_NUMBER、RANK()、DENSE_RANK()和OVER的使用
/*以FoodPrice列排序并显示排序后的行号*/ SELECT ROW_NUMBER() OVER(ORDER BY FoodPrice DESC) AS RowId,* FROM dbo.Foo ...
- Java List双击事件
1. 定义一个MouseListener: 2. 在mouseListener中增加mouseClicked事件: 3. 由MouseEvent的getSource()获得List对象: 4. 由Li ...
- 第 18 章 CSS 表格与列表
学习要点: 1.表格样式 2.列表样式 3.其他功能 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 表格和列表,通过表格和列表的样式设置,让表格和列表显示更加多元化. 一.表格样式 表格有五 ...
- JVM内存格局总结
最近一次面试,面试官让我讲讲JVM的内存这一块的理解.我回答的不满意,今天做一个总结. 做一个产品,最终要做到高并发.高可靠.归根结底,是对CPU.内存等资源受限所作出的解决方案.就内存而言,我们写的 ...