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> ...
随机推荐
- css优化
>>.li设置了display:inline-block,会有空隙,可在父元素ul下设置font-size:0 >>.ie下不支持margin:0 auto; >> ...
- Maven异常:Could not find artifact
用Maven build("clean tomcat7:run" ) Maven聚合工程时,出现了一下问题: [INFO] Scanning for projects... [E ...
- 个人作业—Week1
针对教材内容的问题 阅读教材<软件工程——实践者的研究方法>Roger S.Pressman 在笼统地阅读了教材,大致理清教材知识结构后,提出以下问题作为今后学习地重点: 1) 什 ...
- hibernate----(Hql)查询
package com.etc.test; import java.util.List;import java.util.Properties; import org.hibernate.Query; ...
- 问题导向VS目标导向:领导者要倾向哪种?
人类进步的驱动: 问题驱动:目标驱动: 两者相互影响: 问题驱动是起点,并且在很多杂乱的问题中只有少数可以转化为目标,从而成为进步的动力:多数问题只是以干扰的形式出现. 问题驱动是被动的,并且常常干扰 ...
- git config --global core.autocrlf false
git config --global core.autocrlf false warning: LF will be replaced by CRLF in .idea/vcs.xml.The f ...
- bs4_3select()
Finding an Element with the select() Method 调用select()方法从BeautifulSoup对象索取网页元素,并用CSS 选择器传递你寻找的元素 ...
- VclZip压缩文件夹
压缩指定路径MyZipDir下的文件夹b及b目录下的所有文件和文件b.txt function ZipDir(zipMode:Integer;zipControl:TVCLZip;MyZipName, ...
- Java——新IO 缓冲区与Buffer
缓冲区和Buffer import java.nio.IntBuffer; //================================================= // File Na ...
- js生成一个以零开头的八位数并且依次递增
条件:1八位数:2.以领开头:3.末尾要依次递增 <script type="text/javascript">function Account(num,a){ // ...