A. UIView
1.概念
     属于UIKit框架
     屏幕上能看得见摸得着的东西就是UIView,比如屏幕上的按钮、文字、图片
     翻译为:视图/控件/组件
     UIButton、UILable、UITextField都继承自UIView
     每一个UIView都是一个容器,能容纳其他UIView
 
2.父控件和子控件
     父控件:容纳其他UIView的UIView
     子控件:被放置在另外的UIView中得UIView
 
B.UIViewController
1.概念
     用来控制UIView的东西
     当显示一个新界面时,首先会创建一个新的UIViewController,再由UIViewController创建对应的UIView,UIViewController负责管理这个UIView
     UIViewController就是UIView的大管家,负责UIView的创建、显示、操作、销毁,负责监听UIView内部的事件,负责处理UIView用户的交互
     UIViewController内部有个UIView属性,就是它负责的UIView对象
     
C.控件和UIViewController连接
1.IBAction
     (1)能保证方法连线
     (2)相当于void
 
2.IBOutlet
     (1)能保证属性连线
 
3.UITextField
     (1)设置键盘类型,控制输入数据类型(如数字键盘,只能输入数字)
 
4.Company Identifier & Bundle Identifier
     Company Identifier + app名 = Bundle Identifier    
     Bundle Identifier 是APP的唯一标识
 
5.退出键盘
     谁召出,谁驱去
1.
      // 退出键盘
    // 第一响应者,叫出键盘的那个软件
    // 逐个卸下第一响应者
    [self.num1 resignFirstResponder];
    [self.num2 resignFirstResponder];
 
2.自带方法
          [self.view endEditing:YES];
条件是,键盘是由self.view内部的控件召出的
 
 
C.私有扩展
     在.m文件中写上扩展,但是没有扩展名
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@end
 
私有扩展可以定义变量,私有扩展中的变量和方法都是私有的
 
D.连线控件、方法最好放置在.m文件中,保持封装性
 
E.控件常见属性
superview父控件
subviews子控件
tag标识
transform形变
frame位置尺寸:以父控件的左上角为原点
bounds位置尺寸:控件所在矩形框的位置信息,以自己的左上角为原点,一般为(0,0)
center中点:以父控件的左上角为原点
 
 

[iOS基础控件 - 1] UI概念的更多相关文章

  1. [iOS基础控件 - 5.5] 代理设计模式 (基于”APP列表"练习)

    A.概述      在"[iOS基础控件 - 4.4] APP列表 进一步封装,初见MVC模式”上进一步改进,给“下载”按钮加上效果.功能      1.按钮点击后,显示为“已下载”,并且不 ...

  2. iOS 基础控件(下)

    上篇介绍了UIButton.UILabel.UIImageView和UITextField,这篇就简短一点介绍UIScrollView和UIAlertView. UIScrollView 顾名思义也知 ...

  3. [iOS基础控件 - 7.0] UIWebView

    A.基本使用 1.概念 iOS内置的浏览器控件 Safari浏览器就是通过UIWebView实现的   2.用途:制作简易浏览器 (1)基本请求 创建请求 加载请求 (2)代理监听webView加载, ...

  4. [iOS基础控件 - 6.12.3] @property属性 strong weak copy

    A.概念 @property 的修饰词   strong: 强指针/强引用(iOS6及之前是retain) weak: 弱智真/弱引用(iOS6及之前是assign)   默认情况所有指针都是强指针 ...

  5. [iOS基础控件 - 6.11.4] storyboard 的 Segue

    A.概念 storyboard中的跳转事件连线,都是一个UIStoryboardSegue对象(Segue)   来源控制器      触发控制器 目标控制器      跳转到的控制器     Seg ...

  6. [iOS基础控件 - 6.11.3] 私人通讯录Demo 控制器的数据传递、存储

    A.需求 1.搭建一个"私人通讯录"Demo 2.模拟登陆界面 账号 密码 记住密码开关 自动登陆开关 登陆按钮 3.退出注销 4.增删改查 5.恢复数据(取消修改)   这个代码 ...

  7. [iOS基础控件 - 5.1] UIScrollView

    A.需要掌握 UIScrollView 是一个能够滚动的视图控件,可以用来展示大量内容,如手机的“设置” 1.常见属性 2.常用代理方法 3.缩放 4.UIScrollView和UIPageContr ...

  8. [iOS基础控件 - 6.12.1] QQ菜单管理 UITabBarController 控制器管理

    A.需求 1.类似QQ.微信顶部或者底部的窗口转换导航条 2.给每个页面添加相应内容   B.UITabBarController 1.基本概念: (1)内容高度 iOS7之前内容高度为:屏幕高度 - ...

  9. [iOS基础控件 - 6.10.2] PickerView 自定义row内容 国家选择Demo

    A.需求 1.自定义一个UIView和xib,包含国家名和国旗显示 2.学习row的重用   B.实现步骤 1.准备plist文件和国旗图片     2.创建模型 // // Flag.h // Co ...

随机推荐

  1. mvc学习

    视频: http://edu.51cto.com/index.php?do=lession&id=14581 博客: http://www.cnblogs.com/chsword/archiv ...

  2. Java Web开发 之小张老师总结GET和POST区别

    get和post区别1.传输方式不同,get在request-line中传输(即在URL中传输).post在request-line及 request-body中传输(可认为隐藏传输)2.get传输长 ...

  3. Qt: 把内容写进字符串中与C++很相似(使用QTextStream包装QString)

    #include <iostream>#include <QChar>#include <QFile>#include <QTextStream>#in ...

  4. Git教程之分支管理之二

    分支管理策略 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息.如果要强制禁用Fast forward模式,Git就会在merge时生成一个 ...

  5. 安装Hadoop系列 — 安装Eclipse

    1.下载 Eclipse从 http://www.eclipse.org/downloads/index-developer.php下载合适版本,如:Eclipse IDE for C/C++ Dev ...

  6. git bash中带空格的文件夹以及文件的处理

    空格用'\ '表示,输入的时候,是不需要单引号的 total 338drwxr-xr-x 9 Administ Administ 4096 Aug 24 23:53 HDTHelperdrwxr-xr ...

  7. struts2的action中获得request response session 对象

    在struts2中有两种方式可以得到这些对象 1.非IoC方式 要获得上述对象,关键Struts 2中com.opensymphony.xwork2.ActionContext类.我们可以通过它的静态 ...

  8. [原]Unity3D深入浅出 - 物理引擎之碰撞体(Colliders)

    通常Colliders会与Rigidbody一起使用,没有添加碰撞体的刚体会彼此相互穿过. 常用碰撞体有以下几种: Box Collider:盒子碰撞体,是一个立方体外形的碰撞体,可调整为不同大小的长 ...

  9. Oracle排序BUG

    在今天项目开发中,遇到一个奇怪的问题,运用Oracle自身排序,然后将排序结果进行分页展示到前台时,发现数据有重复的现象. 这是数据表需要排序的全部结果,执行脚本:select * from ajb ...

  10. tomcat+nginx+redis实现均衡负载、session共享(一)

    在项目运营时,我们都会遇到一个问题,项目需要更新时,我们可能需先暂时关闭下服务器来更新.但这可能会出现一些状况: 1.用户还在操作,被强迫终止了(我们可以看日志等没人操作的时候更新,但总可能会有万一) ...