iOS中的UI

• 不管你是学习android开发还是iOS开发
• 都建议先学习UI,原因如下:
UI是app的根基:⼀一个app应该是先有UI界⾯面,然后在UI的基础上增加实⽤用功能
UI相对简单易学:UI普遍是学习过程中最简单的⼀一块,能快速拥有成就感和学习兴趣
UI⾄至关重要:开发中的绝⼤大部分时间都在处理UI
万物皆对象
图片对象~~UIImageView
文本标签对象~~UILabel
按钮对象~~UIButton
~~~~~~~~~~~~~
非UI的功能怎么办呢
~~~框架来解决
UIKit - 创建和管理应⽤用程序的⽤用户界⾯面
➢ QuartzCore -提供动画特效以及通过硬件进⾏行渲染的能⼒力
➢ CoreGraphics -提供2D绘制的基于C的API
➢ CoreLocation -使⽤用GPS和WIFI获取位置信息
➢ MapKit -为应⽤用程序提供内嵌地图的接
➢ AVFoundation – ⾳音频处理
➢ 。。。。。。
利用UIKit框架提供的类来创建各种可视化组件对象,最后组成复杂⽽而美观的UI界⾯面
可能用得上的UI控件
• 为了便于开发者打造各式各样的优秀app,UIKit框架提供了非常多功能强大又易用的UI控件
• 下面列举一些在开发中可能用得上的UI控件(红色表明最常用,蓝色代表一般,黑色代表几乎不
用)
➢ UIButton 按钮
➢ UILabel 文本标签
➢ UITextField 文本输入框
➢ UIImageView 图片显示
➢ UIProgressView 进度条
➢ UISlider 滑块
➢ UISwitch 开关
➢ UISegmentControl 选项卡
➢ UIActivityIndicator 圈圈
➢ UIAlertView 对话框(中间弹框)
➢ UIScrollView 滚动的控件
➢ UIPageControl 分页控件
➢ UITextView 能滚动的文字显示控件
➢ UITableView 表格
➢ UICollectionView 九宫格
➢ UIPickerView 选择器
➢ UIDatePicker 日期选择器
➢ UIWebView 网页显示控件
➢ UIToolbar 工具条
➢ UINavigationBar导航条
➢ UIActionSheet 底部弹框
千万别一口气去百度所有的控件,没有这个必要一口气学完所有的控件,原因如下:
有些控件可能一年用不到1次,用到时再学 iOS中控件的用法都是相似相通的,
因此掌握最主要、最常用的控件,就可以快速上手其他控件。
面试中不会有问你“进度条会用不?开关会用不?”
UI控件部分解释
UILabel – 文本标签
• 文本标签的作用仅仅是显示一串固定的文字
UIButton – 按钮
• 按钮的作用是:监听用户的点击事件,在用户点击后做出反应
UITextField – 文本输入框
• 文本输入框可以弹出键盘,让用户输入一些具体的值
UITextView – 能滚动的文字显示控件
• 如果文字内容比较多,需要换行显示,并且需要编辑,就用它
UIProgressView – 进度条
• 水平进度条,比如显示文件的下载进度,程序的启动进度
UISlider – 滑块
• 在2个数值之间滑动选择,比如调节音量大小
UIActivityIndicator – 圈圈
• 一直在转圈圈,表示让用户等
UIAlertView – 对话框(中间弹框)
• 从中间弹出一个框提示用户下一步该干
UIActionSheet – 底部弹框
• 从底部弹出一个框提示用户下一步该干啥
UIScrollView – 滚动的控件
• 如果内容比较多,超出了一个屏幕,就可以用它来显示
UIPageControl – 分页控件
• 能显示当前的页码
UITableView – 表格
• 如果每一行显示的内容格式差不多,就用这个表格控件
UICollectionView – 九宫格
• 如果显示的东西是一块一块、一格一格的,而且每个格子长的差不多,就可以 用它
UIWebView – 网页显示控件
• 一般用来显示网页,使用它,就可以在手机上浏览网页
UISwitch – 开关
• 要么打开,要么关上
UISegmentControl – 选项卡
• 在固定的几个选项之间进行选择
UIPickerView – 选择器
• 在多行数据之间只选择一行
UIDatePicker – 日期选择器 • 选择日期
UIToolbar – 工具条
• 一般显示在底部或者键盘顶部,里面有几个小按钮
UINavigationBar – 导航条
• 显示在顶部的条
iOS中的UI的更多相关文章
- ios 中的UI控件学习总结(1)
UIKit框架提供了非常多功能强大又易用的UI控件 下面列举一些在开发中可能用得上的UI控件 UIButton 按钮 UILabel 文本标签 UITextField 文本输入框 UIImageVie ...
- IOS中调整UI控件位置和尺寸
1.frame(修改位置和尺寸):以父控件左上角为坐标原点,在其父控件中的位置和尺寸. //frame属性中的坐标点不能直接修改 CGRect tempFrame = self.v.frame; // ...
- 软件測试、ios中的測试概念以及步骤
软件測试: 软件測试的目标是应该服务于软件项目的目标,能够通过建议反馈使用更加高效的方法和工具,提升软件开发效率以及软件开发质量.同一时候还能够通过过一些手段,更早.更快.很多其它地发现缺陷.从容减少 ...
- 在多线程中进行UI操作--ios学习笔记
iOS 上不建议在非主线程进行UI操作,在非主线程进行UI操作有很大几率会导致程序崩溃,或者出现预期之外的效果. 我开始不知道这一点,在子线程中进行了弹窗操作,结果程序就出问题了! 报的错误是(EXC ...
- 06 (OC)* iOS中UI类之间的继承关系
iOS中UI类之间的继承关系 此图可以更好的让你去理解iOS中一些底层的关系.你能够了解以及理解UI类之间的继承关系,你会更加明白苹果有关于底层的东西,更有助于你的项目开发由它们的底层关系,就能更加容 ...
- iOS中多线程知识总结(一)
这一段开发中一直在处理iOS多线程的问题,但是感觉知识太散了,所以就把iOS中多线程的知识点总结了一下. 1.基本概念 1)什么是进程?进程的特性是什么? 进程是指在系统中正在运行的一个应用程序. ...
- ios中的RunLoop 和 android 中的Looper
今天写android程序,用到了Handler,晚上回来查阅资料,发现了Looper这个概念. 看了一下网上关于Looper的资料,发现这个Looper跟ios中的Runloop基本的理念完全一致! ...
- ios 中直接修改frame里边某个属性的简便方法
参考:http://www.cnblogs.com/wengzilin/p/4359865.html 在iOS中view的frame属性使用地太频繁了,尤其是调UI的时候.我们知道,正常情况下我们无法 ...
- 转iOS中delegate、protocol的关系
iOS中delegate.protocol的关系 分类: iOS Development2014-02-12 10:47 277人阅读 评论(0) 收藏 举报 delegateiosprocotolc ...
随机推荐
- 使用VS Code开发调试ASP.NET Core 1.0
使用VS Code开发调试ASP.NET Core 1.0,微软在今天凌晨发布了.NET Core 1.0,ASP.NET Core 1.0 与 Entity Framewok 1.0. 之前跟大家讲 ...
- Nancy 自定义JsonSerializer
1.创建自己的jsonserializer类 public class CustomJsonNetSerializer : JsonSerializer, ISerializer { public C ...
- 一个疑难杂症 IIS URL区分大小写(FF的自动变换URL问题)?
(II8 VS14 CTP3 Windows7 ASP.NET WEBFORM) 在我的印象里面,IIS的URL在一般情况下面是不分大小写的. 所以下面两个URL应该是一样的. http://loca ...
- MVC部分视图的巧用
View视图界面 @{ Html.RenderAction("demo", "", new { id = ViewBag.id });} 请求的控制器方法 pu ...
- 导入项目时Loading descriptor ...
最近导入了一个项目,始终在Loading descriptor ...,很长时间都没有结束. 这是Eclipse在从java.sun.com的服务器上下载配置文件,下载速度过慢导致的,其实配置文件不是 ...
- Java---Java的面试题(二)
1 Switch能否用string做参数?在 Java 7 之前, switch 只能支持byte,short,char,int 或者其对应的封装类以及 Enum 类型.在JAVA 7中,String ...
- [函数] Unicode 检查字符串是否含中文字
// 字串含中文 by Aone function IsIncludeChinese(Str: String): Boolean; var i: Integer; UCS4Str: UCS4Strin ...
- Go语言的编程范式
由于比较古怪的语言特性,感觉代码的封装性是一种不同的思路. 包管理的火热程度居然没有nodejs高,这是为什么 package form import ( "encoding/gob&quo ...
- java servlet调用带有多个返回结果集的存储过程
一.mysql存储过程 这里我先说下我这个功能实现的逻辑及途中遇到的一些问题.这个存储过程一共带两个输入参数,一共关联到两张表的查询,每个参数都对应查询表中的一个判断,所以一共返回了两个结果集(当然要 ...
- java之StringBuffer类详解
StringBuffer 线程安全的可变字符序列. StringBuffer源码分析(JDK1.6): public final class StringBuffer extends Abstract ...