UI第一节—— UILable
1.首先说说怎么创建UI程序,打开xcode,选择Create a new Xcode project.看如下截图
2,接下来就蹦出一个和写OC应用差不多的界面,不多解释了
3.我给工程取得名字就叫UILable,接下来我们就来认识一下这个UILable,接下来我们就看到了一个AppDelegate.m函数,我们选择- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {}这个就OK,下面的几个函数是进入手机后台或者从后台进来的函数,我们暂时不管,开始看代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //已进入是进入一个window,这个是设置window的大小
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // 创建一个UILabel,并设置其大小,UILabel是UIView的一个字类
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 60, 300, 30)]; // 设置Label的文字
label.text = @"I am a Label"; // 设置背景颜色
label.backgroundColor = [UIColor lightGrayColor]; // 设置字体大小,返回的是系统默认字体
label.font = [UIFont systemFontOfSize:30]; // 获取当前系统的字体
NSArray *fontNames = [UIFont familyNames];
for (NSString *name in fontNames) {
NSLog(@"%@", name);
} // 通过字体名字来设置字体
label.font = [UIFont fontWithName:@"Copperplate" size:30]; // 自动调整字体大小来适应Label的宽度
label.adjustsFontSizeToFitWidth = YES; // 设置文字的颜色
label.textColor = [UIColor whiteColor]; // 设置文字的对齐方式
// NSTextAlignmentCenter // 居中
// NSTextAlignmentRight // 右对齐
// NSTextAlignmentLeft // 左对齐
label.textAlignment = NSTextAlignmentCenter; // 阴影
label.shadowOffset = CGSizeMake(5, 5);
label.shadowColor = [UIColor blueColor]; // 多行 0就是任意行
label.numberOfLines = 0; // 切断的模式
// NSLineBreakByWordWrapping 以一个单词为单位的
// NSLineBreakByCharWrapping 以字符为单位
label.lineBreakMode = NSLineBreakByCharWrapping; //设置是否能与用户进行交互
label.userInteractionEnabled = YES; //设置label中的文字是否可变,默认值是YES
label.enabled = NO; //设置label的行数
label.numberOfLines = 2; //设置字体大小适应label宽度
label.adjustsFontSizeToFitWidth = YES; //设置高亮
label.highlighted = YES;
label.highlightedTextColor = [UIColor orangeColor]; //如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为
label.baselineAdjustment = UIBaselineAdjustmentNone;
// typedef enum {
// UIBaselineAdjustmentAlignBaselines,
// UIBaselineAdjustmentAlignCenters,
// UIBaselineAdjustmentNone,
// } UIBaselineAdjustment; //设置label的旋转角度
label.transform = CGAffineTransformMakeRotation(0.1); lable.baselineAdjustment= UIBaselineAdjustmentAlignBaselines;
typedef NS_ENUM(NSInteger, UIBaselineAdjustment) {
UIBaselineAdjustmentAlignBaselines = 0, 默认值文本最上端于label中线对齐
UIBaselineAdjustmentAlignCenters, 文本中线于label中线对齐
UIBaselineAdjustmentNone, 文本最低端与label中线对齐 Label.minimumScaleFactor = 10.0;//默认值为0,为当前字体大小
}; // 把Label添加到Window上
[self.window addSubview:label];
//设置window的背景颜色
self.window.backgroundColor = [UIColor whiteColor]; //这个是便捷方法,去使被使用对象的主窗口显示到屏幕的最前端。你也可以使用hiddenUIView方法隐藏这个窗口”.所以基本上来说,对于编程者的区别仅仅在于在其前添加代码,或在其后添加代码。
[self.window makeKeyAndVisible]; return YES;
}
好了,UILabel 就说到这里了,要多多练习,把这些方法记住哦
如果对你有帮助,请关注我哦!
UI第一节—— UILable的更多相关文章
- Ionic 入门与实战之第二章第一节:Ionic 环境搭建之开发环境配置
原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第二章第一节,主要对 Ionic 的开发环境配置做了简要的介绍,本文介绍的开发环境为 Mac 系统,Windows 系统基本类似,少许 ...
- OpenNebula学习第一节OpenNebula Front-end Installation
一.说说情怀 随着公司硬件开发资源的不足,构建一个云平台似乎重要了起来.当然,也不是这个平台搭建的主力,出于工作的需求和个人兴趣爱好,接下来就来学习一下OpenNebula相关的东西,这是第一节课,先 ...
- delphi 线程教学第一节:初识多线程
第一节:初识多线程 1.为什么要学习多线程编程? 多线程(多个线程同时运行)编程,亦可称之为异步编程. 有了多线程,主界面才不会因为耗时代码而造成“假死“状态. 有了多线程,才能使多个任务同时 ...
- 第一节 初识RabbitMQ
原文:第一节 初识RabbitMQ 版权声明:未经本人同意,不得转载该文章,谢谢 https://blog.csdn.net/phocus1/article/details/87280120 1.什么 ...
- android内部培训视频_第一节
声明:本视频为公司内部做android培训时录制的,无任何商业目的.同时鉴于水平有限,可能不符合您的需求,放在这里的目的是提供给公司同事下载,作为培训的一个记录,也作为一个系列教程的自我督促完成的理由 ...
- 我的第一节Android课
我的第一节安卓课程,今天非比寻常的一天,我开始了我程序猿之路的第一节安卓课程,安卓课程只是我的一个兴趣班,我的本专业是java开发,因为喜欢做一个属于自己的一个手机APP,就选多个一样技能,毕竟十八般 ...
- 第四章 跨平台图像显示库——SDL 第一节 与SDL第一次亲密接触
http://blog.csdn.net/visioncat/article/details/1596576 GCC for Win32 开发环境介绍(5) 第四章 跨平台图像显示库——SDL 第一节 ...
- Centos7 Openstack - (第一节)基本环境配置
Centos7 install Openstack - (第一节)基本环境配置 我的blog地址:http://www.cnblogs.com/caoguo 根据openstack官方文档配置 官方文 ...
- seajs第一节,seajs基本使用
什么是seajs,它是干什么使用的,可以去网上搜索一下, 官网:http://seajs.org/docs/ 基本使用seajs <!DOCTYPE html> <html> ...
随机推荐
- 树链剖分I 原理
树链剖分(Heavy Light Decomposition, HLD)是一种将对[树上两点间的路径]上[边或点]的[修改与查询]转化到[序列]上来处理的方法. 目的:将树的边或点转化到一个线性结构( ...
- Response 对象
Response 对象用于将数据从服务器发送回浏览器. 页面跳转并传递参数 Response.Redirect("~/welcome.aspx?parameter1=one¶ ...
- HDU 2058 The sum problem
传送门 Description Given a sequence 1,2,3,......N, your job is to calculate all the possible sub-sequen ...
- LABjs(类似于LazyLoad,但它更加方便管理依赖关系)
动态加载JS函数 一般性的,当我们需要加载js文件的时候都会使用script标签来实现,类似于如下代码: <script type="text/javascript" src ...
- Objective-C学习笔记之for( int )机制
NSArray *myArray = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4&q ...
- sql 编写横竖表转换
将横表转为竖表,基本思想是: 1)将横表的多条数据,"压"成一条.相当于将这么多条分组,每组"压"成一条数据.利用group by 2) 再对竖表中的列,由特定 ...
- js初学—js全自定义单选框
代码如下: <script type="text/javascript"> window.onload=function() { var oIput=document. ...
- 表x有 一列 ,程序每次生成id的时候都先从这里获取最大值再加1,初始值是A0001,然后到A9999的时候则是到B0001 共5位
drop table x gocreate table x(id varchar(10))--insert into x values('A001')gowith a as (select ISNUL ...
- js实现观察者模式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 第二章 存储,2.2 AliCloudDB--双11商家后台数据库的基石(作者:玄惭)
2.2 AliCloudDB--双11商家后台数据库的基石 前言 2016年天猫双11购物狂欢节已经完美落下帷幕,千亿成交的背后,作为整个天猫商家后台数据库的基石,AliCloudDB是如何保障在零点 ...