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介绍 模式识别的目标 自动从数据中发现潜在规律,以利用这些规律做后续操作,如数据分类等. 模型选择和参数调节 类似的一族规律通常可以以一种模型的形式为表达,选择合适模型 ...
随机推荐
- linux下不能使用shutdown命令
命令查看: #echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/sbin;/ ...
- 安装apache+php+mysql
#yum -y install httpd 安装完成之后查看安装时生成了哪些文件: #rpm -ql httpd 绑定域名(如果没有域名可以跳过): #cd /etc/httpd/conf.d ...
- 使用Socket进行通信
客户端通常可使用Socket的构造器来连接到指定服务器,Socket通常可使用如下两个构造器. Socket(lnetAddress/String remoteAddress , int port ...
- lucas 定理学习
大致意思就是求组合数C(n , m) % p的值, p为一个偶数 可以将组合数的n 和 m都理解为 p 进制的表示 n = ak*p^k + a(k-1)*p^(k-1) + ... + a1*p ...
- K2与OData和Swagger集成,从任何设备无需代码获取数据
K2近期宣布获得了DData和Swagger REST的支持,这件事情究竟有多好呢? K2与OData和Swagger的集成,保障K2 Blackpearl的用户能建立基于工作流和表单的解决方案,最重 ...
- 凭借K2 SmartObject框架,在SharePoint中集成数据
随着SharePoint 2013的发布,Microsoft已提供Business Connectivity Services(BCS)增强功能以及外部列表功能,确保您可以更简单地在SharePoin ...
- java基础之类与继承 详解
Java:类与继承 对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础.抽象.封装.继承.多态这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关知 ...
- Unity截屏
方式一:直接使用unity自带的截图函数 Application.CaptureScreenshot(“imagename”); 保存路径: 在PC上保存路径为Application.dataPath ...
- [处理器、单片机]ARM
1.ARM简介: ARM是Advanced RISC Machines的缩写.1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由美国加州San Jose VLSI技术公 ...
- Android 导入jar包 so模块--导入放置的目录
Android视图下 app目录下的jniLibs 对应Project 视图app下的libs目录 把jar包或者带so文件的文件夹(一般以处理器型号命名如:arbeabi arm64-v8a)复制 ...