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的更多相关文章

  1. Ionic 入门与实战之第二章第一节:Ionic 环境搭建之开发环境配置

    原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第二章第一节,主要对 Ionic 的开发环境配置做了简要的介绍,本文介绍的开发环境为 Mac 系统,Windows 系统基本类似,少许 ...

  2. OpenNebula学习第一节OpenNebula Front-end Installation

    一.说说情怀 随着公司硬件开发资源的不足,构建一个云平台似乎重要了起来.当然,也不是这个平台搭建的主力,出于工作的需求和个人兴趣爱好,接下来就来学习一下OpenNebula相关的东西,这是第一节课,先 ...

  3. delphi 线程教学第一节:初识多线程

    第一节:初识多线程   1.为什么要学习多线程编程?   多线程(多个线程同时运行)编程,亦可称之为异步编程. 有了多线程,主界面才不会因为耗时代码而造成“假死“状态. 有了多线程,才能使多个任务同时 ...

  4. 第一节 初识RabbitMQ

    原文:第一节 初识RabbitMQ 版权声明:未经本人同意,不得转载该文章,谢谢 https://blog.csdn.net/phocus1/article/details/87280120 1.什么 ...

  5. android内部培训视频_第一节

    声明:本视频为公司内部做android培训时录制的,无任何商业目的.同时鉴于水平有限,可能不符合您的需求,放在这里的目的是提供给公司同事下载,作为培训的一个记录,也作为一个系列教程的自我督促完成的理由 ...

  6. 我的第一节Android课

    我的第一节安卓课程,今天非比寻常的一天,我开始了我程序猿之路的第一节安卓课程,安卓课程只是我的一个兴趣班,我的本专业是java开发,因为喜欢做一个属于自己的一个手机APP,就选多个一样技能,毕竟十八般 ...

  7. 第四章 跨平台图像显示库——SDL 第一节 与SDL第一次亲密接触

    http://blog.csdn.net/visioncat/article/details/1596576 GCC for Win32 开发环境介绍(5) 第四章 跨平台图像显示库——SDL 第一节 ...

  8. Centos7 Openstack - (第一节)基本环境配置

    Centos7 install Openstack - (第一节)基本环境配置 我的blog地址:http://www.cnblogs.com/caoguo 根据openstack官方文档配置 官方文 ...

  9. seajs第一节,seajs基本使用

    什么是seajs,它是干什么使用的,可以去网上搜索一下, 官网:http://seajs.org/docs/ 基本使用seajs <!DOCTYPE html> <html> ...

随机推荐

  1. RabbitMQ Exchange中的fanout类型

    fanout 多播 在之前都是使用direct直连类型的交换机,通过routingkey来决定把消息推到哪个queue中. 而fanout则是把拿到消息推到与之绑定的所有queue中. 分析业务,怎样 ...

  2. 第一章、欢迎进入C#编程世界

    1.GUI:图形用户界面. 2.在C#中,所有可执行代码都必须在方法中定义,而方法必须从属于类或结构. 3.程序集中可能包含多个命名空间的类,而一个命名空间可能跨越多个程序集. 4.解决方案文件使用. ...

  3. AngularJs ngCsp、ngFocus、ngBlur、ngForm

    ngCsp 处理CSP(上下文安全策略)的支持. 当开发如google浏览器的扩展时候这个就必须使用. CSP禁止应用程序使用eval和Function(string)生成的函数.如果我们需要兼容,我 ...

  4. django models auto_now和auto_now_add的区别

    DataTimeField()中auto_now参数和auto_now_add参数区别: 前者添加或者修改的都为现在的时间,可以再次更新: 后者仅仅为添加时候的时间,不可更改.

  5. 对iOS中Delegate的理解

    首先 协议protocol 和委托delegate 是两个完全不同的概念  放在一起说 是因为我们总是在同一个头文件里看到它们: 首先解释一下什么是委托 :举个例子 ,我工作的时候给你打电话,让你帮我 ...

  6. 【Phylab2.0】Alpha版本测试报告

    测试报告集 点击链接

  7. 一文彻底了解join的各种用法

    表a                       表b    a1    a2                 b1     b2 a01     张三         a02     数学 a02 ...

  8. JavaScript中局部变量与全局变量的不同

    JavaScript中局部变量与全局变量 我们知道,JavaScript的变量是松散型的变量,也就是说,其变量只需用var声明,其赋值的类型是不限定的.比如: var person=18; perso ...

  9. D/A转换器实验

    1.代码: #include<reg52.h>typedef unsigned char u8;typedef unsigned int u16;void delay (u16 num){ ...

  10. Tomcat 的三种(bio,nio.apr) 高级 Connector 运行模式及apr配置

    转: http://www.oschina.net/question/54100_16195omcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,可以看他的启动控制台,或者启动日志. ...