课程内容:
 
一、iOS概述
2007年1月9日Macworld大会上公布iPhone OS系统,2010WWDC大会上改名为iOS
 
二、 UI编程概述
UI的本意是用户界面,是英文User和 Interface的缩写。 
UI设计则是指对软件的人机交互、操作逻辑、界面美观的整 体设计。
 
三、UIWindow
UIView的子类,一般应用程序只有一个UIWindow对象
//创建UIWindow对象
    // [UIScreen mainScreen].bounds是屏幕大小
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    // 给window设置背景颜色
    self.window.backgroundColor = [UIColor whiteColor];
    //使window显示
    [self.window makeKeyAndVisible];
 
四、UIView
表示屏幕上的一块矩形区域,负责渲染区域的内容,并且响应该区域内发生的触摸事件
  • 功能:
1、处理矩形区域里的内容
2、处理矩形区域中的事件
3、子视图的管理
4、实现UIView动画  
5、UIView作为父类,子类也具有这些功能
 
  • 创建UIView的步骤
1、开辟空间并初始化视图(初始化时给出视图位置和大小)
2、对视图做一些设置(比如:背景颜色)
3、将视图添加到window上进行显示
 
代码:
// 开辟空间创建UIView对象
    // 设置frame确定UIView对象的位置以及⼤⼩
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
    // 设置UIView对象的属性:设置背景颜⾊
    view.backgroundColor = [UIColor redColor];
    // 将创建好的UIView对象添加到Window上显⽰
    [self.window addSubview:view];
 
  • 属性:
frame是UIView的属性,决定视图的大小和位置,是CGRect类型,基于它的父视图的坐标系而言
 
  • 添加视图:
 
  • UIButton
UIButton(按钮)是UIView的一个非常重要的子类,主要作用是拦截事件和动作消息发送到目标对象。
  • 代码:
//创建UIButton对象
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    // 设置button的frameં属性
    button.frame = CGRectMake(100, 100, 100, 100);
    // 设置button的标题
    [button setTitle:@"按钮" forState:UIControlStateNormal];
    // 添加到父视图
    [self.view addSubview:button];
    // 设置button的点击方法
    [button addTarget:self action:@selector(buttonAction:)forControlEvents:UIControlEventTouchUpInside];
   
Button的点击方法为 buttonAction: 当点击Button的时候会执行这个方法, 一定要实现这个方法,否则程序会因为找不到这个方法而导致程序崩溃。
    // button点击方法实现
    - (void)buttonAction:(UIButton *)sender {
       
    }
 
  • 视图层次管理
 
五、应用程序的启动流程
  • UIApplicationMain在程序入口函数main函数中调用,主要实现了3 个功能:
     1.创建应用程序(UIApplication)实例
     2.创建应用程序代理(AppDelegate)实例
     3.建立事件循环(runloop:死循环,不断检测程序运行状 态,是否被触摸、晃动等)
 
  • 应用程序代理:
 
 
 
 
 
 

UI UIView的更多相关文章

  1. UI --UIView 及其子类

    一 > UIView  1> iOS 概述: iOS 是 Apple 公司的移动操作系统,主要用于iPhone, iPad, iPad Mini , iPod Touch 等移动产品. 借 ...

  2. 18-UIKit(Core Animation、广播设计模式)

    目录: 一.Core Animation 二.广播设计模式 回到顶部 一.Core Animation 1.  是什么? 底层的动画框架 2.  框架对比 UIKit           UI     ...

  3. iOS 视频直播弹幕的实现

    弹幕,并不是一个多么复杂的功能. 1.弹幕的实现性分析 首先,从视觉上明确当前弹幕所具有的功能 从屏幕右侧滑入左侧,直至完全消失 不管是长的弹幕,还是短的弹幕,速度一致(可能有的需求是依据弹幕长度,调 ...

  4. 配置隐私协议 - iOS

    根据苹果隐私协议新规的推出,要求所有应用包含隐私保护协议,故为此在 App 中添加了如下隐私协议模块. 首次安装 App 的情况下默认调用隐私协议模块展示相关信息一次,当用户点击同意按钮后,从此不再执 ...

  5. iOS开发UI篇—核心动画(UIView封装动画)

    iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画 ...

  6. 第一章 UI实战开发 UIWindow UIView

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  7. iOS开发——UI精选OC篇&UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍

    UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍 一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道 ...

  8. iOS开发——UI基础-控制器,IBAction和IBOutlet,UIView

    第一个ios程序 @interface ViewController : UIViewController @property(nonatomic, weak)IBOutlet UILabel *la ...

  9. IOS开发UI基础UIView

    主要介绍下UIView得基本概念和一些属性的介绍至于属性的用户后面会由详细的介绍 -.UIView基本概念 1.什么是控件? 屏幕上所有的UI元素都叫做控件 (也有很多书中叫做视图 组件) 比如 按钮 ...

随机推荐

  1. js object(对象)

    http://www.cnblogs.com/pingchuanxin/p/5773326.html Object(对象)是在所有的编程语言中都十分重要的一个概念,对于事物我们可以把他们看作是一个对象 ...

  2. [js] 非常好的面试题,学习了。。

    原文链接:http://www.cnblogs.com/xxcanghai/p/5189353.html

  3. 转:从开源项目学习 C 语言基本的编码规则

    从开源项目学习 C 语言基本的编码规则 每个项目都有自己的风格指南:一组有关怎样为那个项目编码约定.一些经理选择基本的编码规则,另一些经理则更偏好非常高级的规则,对许多项目而言则没有特定的编码规则,项 ...

  4. 转!!java线程状态

    一. 线程状态类型1. 新建状态(New):新创建了一个线程对象.2. 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法.该状态的线程位于可运行线程池中,变得可运 ...

  5. SQL实现数组的功能

    今天在工作遇到了一个问题,需要往表中添加数量不小而且没有规律的的数据.思考后我想到了使用高级语言中的数组功能解决. 由于SQL Server并没有数组类型,ANSI SQL-92标准中并没有任何有关数 ...

  6. C/C++大数库简介

    在网络安全技术领域中各种加密解密算法的软件实现上始终有一个共同的问题就是如何在普通的PC机上实现大数的运算.我们日常生活中所应用的PC机内部字长多是32位或64位,但是在各种加密解密的算法中为了达到一 ...

  7. css读书笔记1:HTML标记和文档结构

    块级元素和行内元素:块级元素:上下堆叠,每个块级元素都独立占一行.块级元素的盒子宽度与父元素同宽.行内元素:左右堆叠,只有在空间不足的情况下才会折到下一行显示.行内元素的盒子会收缩包裹其内容,并尽可能 ...

  8. 扩展Date的DateDiff方法--日期差

    Date.prototype.DateDiff = function(after){ var diffDay; var beforeDate = new Date(this).format(" ...

  9. 求质数算法的N种境界[1] - 试除法和初级筛法

    ★引子 前天,俺在<俺的招聘经验[4]:通过笔试答题能看出啥?>一文,以"求质数"作为例子,介绍了一些考察应聘者的经验.由于本文没有政治敏感内容,顺便就转贴到俺在CSD ...

  10. 小例子(二)、winform窗体间的关系

    写一个关于winform窗体间的关系 1.登陆,思路:登陆后隐藏登陆窗体,关闭Form2时结束整个应用程序. //登陆窗体 private void button2_Click(object send ...