UI NUMONE

前节:app是什么?

app英文全称:application 应用程序,简称应用。也就是手机应用的简写

出处:http://www.cnblogs.com/mcj-coding/p/5098254.html QQ:853740091

1.UI

UI即User Interface(用户界面)的简称。UI设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。UI还有其它的意义,如Unit Interval,Univ of Iowa,Unlock Instruction,Urgent Interrupt。在iOS中UI指的就是用户界面

1.1 UI举例

UI 字面上看是用户和界面,还包括用户和界面之间的交流。如果游戏机是我的程序,那么操作按键就是UI。我们睁开眼看到的世界就是世界给我们展示的UI

1.2  UI的重要性

用户对程序的第一感觉就是UI感觉(男女见面的第一印象,还是比较重要的)。用户再使用过程中,和程序交流主要是通过UI,如果UI展示不清楚,交互比较别扭,会直接影响用户的体验。而用户体验是一个app成败的关键元素之一

1.3 UI设计

UI 设计需要专业的培训,这里就不说了,一般公司有自己UI设计师

2. 创建UI的工具就是---Xcode的使用

2.1 打开Xcode

/// 添加图片

Get started with a playground(可视化编程)

Create a new Xcode project (创建一个新项目)

Check out an Existing project (打开一个存在的项目)

2.2 选择Create a new Xcode project (创建一个新项目)

/// 添加图片

五个其中四个是模板(高考作文模板,虽然快速但是缺乏新意,一般自己编写,可以任意添加自己喜欢的东西,删除自己不喜欢的)

选择SingleView Application这个模板 --点击 next

2.3 添加项目名称和项目的详情信息

/// 添加图片

product Name :项目名称(理论支持中文,用后会出问题,图片加载不出来等)

Oranization Name:开发者的名称(会在每个.h 和 .m文件中显示出来(演示))

Oranization Identifiter :app企业标识(公司网址倒写 com.baidu.www(网址唯一))

bundle Identifiter :Oranization Identifiter + product Name; 开发证书标识,要和开发证书名字一致

use core Data : 会自动生成数据管理相关代码

我们当前只需要添加一个项目名称就行---点击 next (这样我们项目就创建完成了)

3. Xcode 面板介绍

【导航区域】

项目导航(快速的找到文件和类)

符号导航 (快速的找到类的方法、属性)

搜索导航(输入一个字符,项目只要含有这个字符的的都会显示出来)

问题导航 (程序有警告和错误时,就有在这显示)

单元测试导航

调试导航/线程导航  (导航面板统一显示应用程序调试状态在或者出错情况下堆栈的调试状态,CPU的使用情况,以及相关的网络和内存信息)

断点导航 (快速编译、禁用、删除断点)

日志导航 (编译调试日志和源代码变更日志)

快捷键 Command +1、2………..

【编辑区域】

【通用区域】

查看区/属性区 (用到时再说)

库区域

文件库

代码片段库

对象库

媒体库

【调试区域】 (一直再用,不用说)

3. 程序启动-生命周期

首先讲解UIApplication对象

UIApplication对象会不断的检测应用程序的当前状态。当系统修改了应用程序的当前状态,会发送通知,UIApplication对象就会检测到这个通知。

int main(int argc, char * argv[]) {

@autoreleasepool {

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

}

}

int argc, char * argv[]  这两个参数包含应用程序何时启动等信息(系统传入的参数)

@autoreleasepool 缓存池,对象引用计数自动处理器 新生成一个Run Loop的时候,系统会自动的创建一个NSAutoreleasePool,该NSAutoreleasePool无法被删除

第三个参数:主要是检测程序的状态(指的是系统改变了程序的当前状态)的改变。必须传入UIApplication子类,如果传入nil系统会自动创建一个UIApplication对象

第四个参数:app程序的代理。第三个参数检测到程序状态的改变,就会通知代理。。然后我们在相应的方法中处理事情。

// AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

}

// 坐标系

如果在平面坐标系中我们要确定一个东西的位置和大小需要什么?

左上角是(0,0) 横着的为Y轴,竖着的为X轴 (power point 展示)

// UILabel

展示一下UILabel的使用环境

UILabel 是一个视图类,即UIView的子类,在IOS中所有看的见,摸的着的,都是UIView的子类

----看图片 让大家看整体的架构

UILabel 是标签视图,用于显示文字信息。

创建一个关于UILabel项目,关闭ARC  build Setting - gar (学了就要用,以后我们做项目就可以打开)

去掉arc 需要在AppDelegate中添加这段代码

- (void)dealloc

{

[self.window release];

[super dealloc];

}

UIWindow 我们的UI都要放在这上边

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

self.window.backgroundColor = [UIColor whiteColor];

[self.window makeKeyAndVisible];

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];

label.backgroundColor = [UIColor redColor];

label.text = @"优衣库";

[self.window addSubview:label];

[label release];

// 视图控制器

Application windows are expected to have a root view controller at the end of application launch提醒的错误的意思:我们画框完成了,但是没有画布。也就是我们直接把画画到画框上了。如果我们把画画到画框上,那么如果我们想切换一个界面,只能换框了。一般一个app只有一个UIWindow,所以我们只能换app了,可能嘛!!!

视图控制器就是画布。

重新创建一个项目:添加一个ViewController

UILabel的一些使用方法(使用基本的一些属性)

作业:蓝底白字:尊上,我是小骨~~;

UILabel 的其他属性的一些用法。

- (void)viewDidLoad {

[super viewDidLoad];

//位置、文字颜色、lable背景色、字体大小、字体加粗、字体倾斜、文字位置、阴影、文字行数、文字分行、自适应行数

// 实例化

UILabel *label = [[UILabel alloc] init];

// 大小位置

label.frame = CGRectMake(10,100,150,150);

// 设置显示文字

label.text = @"See You Again I belivece you,double kill";

// 设置文字颜色 (还有另一种设置颜色的方式,经常用的0~1 透明度)

label.textColor = [UIColor blackColor];

// 设置UILable的背景色 [UIColor clearColor];

label.backgroundColor = [UIColor grayColor];

// 设置字体大小

label.font = [UIFont systemFontOfSize:20.f];

// 设置字体样式:粗体

label.font = [UIFont boldSystemFontOfSize:30];

// 设置字体样式 (英语,汉语不明显)

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

label.font = [UIFont fontWithName:@"" size:20]

// 设置文字位置(有三种情况)

//    NSTextAlignmentLeft

//    NSTextAlignmentCenter

//    NSTextAlignmentRight

label.textAlignment = NSTextAlignmentCenter

;

// 设置行数

label.numberOfLines = 2;

// 设置高亮(以后点击后用户要有相应)

label.highlighted = YES;

label.highlightedTextColor = [UIColor redColor];

// 设置阴影

label.shadowOffset = CGSizeMake(0, 0);

label.shadowColor = [UIColor yellowColor];

// 设置标记(标记理应是正数)

label.tag = 1;

// 设置文字过长时显示格式

//    NSLineBreakByWordWrapping = 0, 以单词结尾、换行,如果显示不下,舍去

//    NSLineBreakByCharWrapping,   以字母换行,如果显示不下,舍去(ios7不支持)

//    NSLineBreakByClipping,      以单词换行,如果显示不下,以字符作为舍去的基本单位

//    NSLineBreakByTruncatingHead, 以单词换行,如果显示不下,省略最后一行的行首。

//    NSLineBreakByTruncatingTail, 以单词换行,如果显示不下,省略最后一行的行尾。

//    NSLineBreakByTruncatingMiddle 截去中间

label.lineBreakMode = NSLineBreakByWordWrapping;

// 文字大小自动适应宽度 (和文字显示的格式有冲突,只能设置其中之一)

label.adjustsFontSizeToFitWidth = YES;

// 添加到视图控制器

[self.view addSubview:label];

[label release];

}

时间: 2024-10-10 04:57:06

UI NUMONE的相关文章

基于jquery开发的UI框架整理分析

根据调查得知,现在市场中的UI框架差不多40个左右,不知大家都习惯性的用哪个框架,现在市场中有几款UI框架稍微的成熟一些,也是大家比较喜欢的一种UI框架,那应该是jQuery,有部分UI框架都是根据jQuery研发出来的产品,现在也很常见了. 国产jQuery UI框架 (jUI) DWZ DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架.设计目标是简单实用,快速开发,降低ajax开发成本. jQuery 部件布局

iOS instruments之ui automation的简单使用(高手绕道)

最近使用了几次instruments中的automation工具,现记录下automation的简单使用方法,希望对没接触过自动化测试又有需求的人有所帮助.  UI 自动测试是iOS 中重要的附加功能,它由名为"Automation"的新的工具对象支持.Automation工具的脚本是用JavaScript语言编写,主要用于分析应用的性能和用户行为,模仿/击发被请求的事件,利用它可以完成对被测应用的简单的UI测试及相关功能测试. 一. 简单的录制脚本 打开xcode,这里用我为我家亲爱

RDVECore来自锐动的无UI,高度抽象化API的视频编辑SDK--IOS版

1 编写目的 预期读者: 有视频编辑开发经验或者无经验的,打算或者正在使用"锐动IOS版RDVECore"的相关工程师. iOS软件工程师. 产品经理. QA 2 名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1080x720,640x480等. 帧率:每秒的帧数(fps)或者说帧率表示图形处理器处理场时每秒钟能够更新的次数. 码率: 数据传输时单位时间传送的数据位数,一般我们用的

UI渲染回顾简单笔记

UI渲染的简单过程: CPU,GPU,显示器协同工作,CPU 中计算显示内容,比如视图的创建.布局计算.图片解码.文本绘制等,然后将计算结果提交给GPU,由 GPU 进行变换.合成.渲染.随后 GPU 会把渲染结果提交到帧缓冲区去,随后等待下一次 VSync(垂直同步信号) 到来时,视频控制器会逐行读取帧缓冲区的数据,经过可能的数模转换传递给显示器显示.由于垂直同步的机制,如果在一个 VSync 时间内,CPU 或者 GPU 没有完成内容提交,则那一帧就会被丢弃,等待下一次机会再显示,而这时显示

关于Vue的各个UI框架(elementUI、mint-ui、VUX)

elementUI 官网:http://element.eleme.io/ 使用步骤: 1.安装完vue-cli后,再安装 element-ui 命令行:npm i element-ui -D 相当于  npm install element-ui --save-dev //   i -> install       D  -> --save-dev       S -> --save   都是缩写 2.在main.js入口文件中引入它的js和css import ElementUI f

Vue.js之UI组件elementUI——MintUI

目的: 为了提高开发效率 功能 原则: 拿过来直接使用 vue-cli  ->  vue-loader bower 前端包管理器 jquery#1.11.1 自动解决依赖npm node包管理器 [email protected] 饿了么团队开源一个基于vue 组件库 elementUI: 如何使用 官网:http://element.eleme.io/使用:1. 安装 element-ui npm i element-ui -D npm install element-ui --save-de

第一百八十九节,jQueryUI,折叠菜单 UI

jQueryUI,折叠菜单 UI 学习要点: 1.使用 accordion 2.修改 accordion 样式 3.accordion()方法的属性 4.accordion()方法的事件 5.accordion 中使用 on 折叠菜单(accordion),和选项卡一样也是一种在同一个页面上切换不同内容的功能 UI.它和选项卡的使用几乎没有什么太大区别,只是显示的效果有所差异罢了. 一.使用 accordion 使用 accordion 比较简单,但需要按照指定的规范即可. HTML 部分 <d

学习ui设计是自学好?还是参加培训好?

ui设计自学好?还是参加培训好? 想学UI设计的人,或是想转行UI设计的人,大多都有一个困惑,要不要报班?去哪里报班?报什么班?学UI设计自学好还是报班培训好?相信这是想要进入UI设计行业领域的人们心中都有的疑问,那么该怎么办?下面小编谈谈ui设计自学好还是参加培训好的看法! 1.自学UI设计,首先是你要了解自己是有基础,还是零基础.有基础的话可以自学,不过要找到足够专业的ui学习平台,不然技术还没学会,反而把时间给耽误了,然后就是自己对学习的时间以及学习的实践操作做规划.只有持之以恒的不断学习

Winform软件,不要在线程里操作UI

对于Winform软件,不要在线程里操作UI,不要相信:StartForm.CheckForIllegalCrossThreadCalls = false; 于是,把所有的代码都改成主线程委托调用的方式 private delegate void SetTextHandle(string id, string value); private void ThreadSetText(string id, string value) { this.Controls.Find(id, true)[0].