UI学习笔记---第一天
一.iOS概述
iOS是Apple公司的移动操作系统,主要⽤用于iPhone、iPad、iPad Mini、iPod Touch等移动产品。
借助iOS,我们可以开发视频类、美图类、新闻类、⾳乐类、团购类、电商类、阅读类、出⾏行类、⽣活服务类、游戏类等应⽤用程序。
除此之外,iOS还可以与外部设备通信,开发出更多改变⽣活的产品,⽐比 如:智能家居(iOS App控制电视、空调等)、健⾝产品(将人体健康 状况通过App直观的展现出来)等。
二.UI概述
UI(User Interface):⽤户界面,⽤户能看到的各种各样的⻚面元素。
iOS App = 各种各样的UI控件 + 业务逻辑和算法。
想要开发出⼀一款精美的应⽤程序,需要熟练掌握各种UI控件的用法。
三.UIWindow
window是窗口,每个app都需要借助window将内容展现给用户看
在iOS中,使用UIWindow类来表示窗口,通常一个应用程序只创建一个UIWindow对象
因为window的主要作用是呈现内容给用户,因此我们不会对window做太多操作
四.UIView
view(视图):代表屏幕上的一个矩形区域,iOS中用UIView来表示视图
不同的控件代表不同类型的view
iOS中所有能看到的内容都是view或者其子类
//@property (retain, nonatomic) UIWindow *window;//ARC默认是strong MRC是retain
//AppDelegate.m中代码
#import "AppDelegate.h" @implementation AppDelegate
-(void)dealloc
{
[_window release];
[super dealloc];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor]; //第一步创建视图 //视图默认是透明色 clearcolor
UIView *redView = [[UIView alloc] initWithFrame:CGRectMake(, , , )];
//第二步,配置视图
// [redView setBackgroundColor:[UIColor redColor]];//两种设置颜色的方式
redView.backgroundColor = [UIColor redColor];
//第三步,添加视图
[self.window addSubview:redView];
// [_window addSubview:redView];//两种方式添加
//第四步,内存管理
[redView release]; [self.window makeKeyAndVisible];
return YES;
}
如何呈现一个内容



UILabel *aView = [[UILabel alloc] initWithFrame:CGRectMake(, , , ];
// aView.backgroundColor = [UIColor redColor];
aView.text = @"用户名:";
[_window addSubview:aView];
[aView release];
控制文本显示

六.UITextField
UITextField(输⼊框):是控制⽂本输入和显示的控件。在App中UITextField
出现频率也比较高。
iOS系统借助虚拟键盘实现输入,当点击输入框,系统会⾃动调出键盘,⽅便 你进⼀步操作。在你不需要输入的时候,可以使⽤用收回键盘的方法,收回弹出的
键盘。 UITextField和UILabel相比,UILabel主要⽤用于文字显示,不能编辑,
UITextField允许⽤户编辑文字(输入)。
UITextField *bView = [[UITextField alloc] initWithFrame:CGRectMake(, , , )];
bView.borderStyle = UITextBorderStyleRoundedRect;//圆角边框
bView.placeholder = @"请输入您的用户名";//输入框中提示输入内容
[_window addSubview:bView];
[bView release];
文本显示

输入控制

外观控制

七.UIButton
创建UIButton与创建UILabel、UITextField、UIView的步骤很相似。
1、创建button对象(如果本类有初始化⽅法,使⽤⾃己的;否则使⽤父类的)。
2、设置按钮显⽰相关的属性
3、为按钮添加点击事件
4、添加按钮到⽗视图上,⽤以显示
5、按钮无需释放(因为使用的是类方法创建的button)
UIButton *loginButton = [UIButton buttonWithType:UIButtonTypeSystem];
loginButton.frame = CGRectMake(, , , );
[loginButton setTitle:@"登录" forState:UIControlStateNormal];
[loginButton addTarget:self action:@selector(login:)
forControlEvents:UIControlEventTouchUpInside];
[containerView addSubview:loginButton];
UIButton添加事件

外观控制

UI学习笔记---第一天的更多相关文章
- ActionBarSherlock学习笔记 第一篇——部署
ActionBarSherlock学习笔记 第一篇--部署 ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android ...
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- ASP.NET Core 学习笔记 第一篇 ASP.NET Core初探
前言 因为工作原因博客断断续续更新,其实在很早以前就有想法做一套关于ASP.NET CORE整体学习度路线,整体来说国内的环境的.NET生态环境还是相对比较严峻的,但是干一行爱一行,还是希望更多人加入 ...
- Django学习笔记---第一天
Django学习笔记 1.Django的安装 //如果不指定版本号,默认安装最新版 pip3 install django==1.11.8 关于Django的版本和python的版本依赖关系,请看下图 ...
- GIT学习笔记——第一章
git之vim编辑器退出命令 # 学习笔记 张文军微博主页 张文军码云主页 张文军新浪云主页 张文军博客主页 ## 刚学习git,好多东西没接触过,进入vim后不知道如何出来了,网上找了很多都 ...
- AndroidStudio学习笔记-第一个安卓程序
要带一个本科生做一部分跟安卓有点关系的项目,于是趁着机会学习一下编写安卓程序. 第一篇材料来自谷歌官方,传送门:https://developer.android.com/training/basic ...
- 《JavaScript权威指南》学习笔记 第一天。
这是零零散散的笔记,作为自己看书打demo的笔记.不足为各位学习,留作自己复习知识点备用. 1.检测对象中某个属性存在不存在: <script> // in 运算符 //不管是对象的自有属 ...
- 2011斯坦福大学iOS应用开发教程学习笔记(第一课)MVC.and.Introduction.to.Objective-C
blog.csdn.net/totogo2010/article/details/8205810 目录(?)[-] 第一课名称 MVC and Introduction to Objective-C ...
- PRML学习笔记第一章
[转] PRML笔记 - 1.1介绍 模式识别的目标 自动从数据中发现潜在规律,以利用这些规律做后续操作,如数据分类等. 模型选择和参数调节 类似的一族规律通常可以以一种模型的形式为表达,选择合适模型 ...
随机推荐
- 在Android应用中使用OpenGL
Android为OpenGL ES支持提供了GLSurfaceView组件,这个组件用于显示3D图形.GLSurfaceView本身并不提供绘制3D图形的功能,而是由GLSurfaceView.Re ...
- 可伸缩的textview。
在一些应用中,比如腾讯的应用市场APP应用宝,关于某款应用的介绍文字,如果介绍文字过长,那么不是全部展现出来,而是显示三四行的开始部分(摘要),预知全部的内容,用户点击展开按钮即可查阅全部内容. 这样 ...
- 国内HTML5前端开发框架汇总
国内HTML5前端开发框架汇总 Dawei Cheng 程大伟... 于 星期日, 02/12/2012 - 20:53 提交 国外很有多优秀的HTML5前端开发框架相信大家都耳熟能详:JQuery ...
- localStorage
length:唯一的属性,只读,用来获取storage内的键值对数量. key:根据index获取storage的键名 getItem:根据key获取storage内的对应value setItem: ...
- Linux-设置环境变量
一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.例如我的mips-linux-gcc编译器在“ /opt/au1200_rm/build_tools/bin”目录下, ...
- jQuery对表单元素的取值和赋值操作代码
使用常规的思路:$(“#keyword”).value 取值是取不到的,因为此时$(‘#keydord’)已经不是个element,而是个jquery对象,所以应该使用:$(“#keyword”).v ...
- 支持.NET和移动设备的XLS读写控件XLSReadWriteII下载地址及介绍
原文来自龙博方案网http://www.fanganwang.com/product/3085转载请注明出处 读写任何单元值 数字型.字符型.布尔型以及错误型.但是你了解日期和时间型单元吗?在Exce ...
- 理解NSAttributedString
An NSAttributedString object manages character strings and associated sets of attributes (for exampl ...
- HYSBZ 1858 线段树 区间合并
//Accepted 14560 KB 1532 ms //线段树 区间合并 /* 0 a b 把[a, b]区间内的所有数全变成0 1 a b 把[a, b]区间内的所有数全变成1 2 a b 把[ ...
- 补码复习的好例子---Int范围的科学解释
Int范围的科学解释 这得从二进制的原码说起: 如果以最高位为符号位,二进制原码最大为0111111111111111=2的15次方减1=32767 最小为1111111111111111=-2的15 ...