• 什么叫控件?

    • 屏幕上所有UI元素都叫做控件(也有叫做视图、组件)
  • 控件的共同属性

    • 尺寸
    • 位置
    • 背景色
    • ...
  • 苹果将控件的共同属性都抽取到父类UIView中

    • 所有控件最终都继承自UIView

父子控件

  • 每个控件都是一个容器,都可以容纳其他控件
  • 内部的小控件是大控件的子控件

常用属性

  • 获得自己的父控件对象

    @property(nonatomic,retain)UIView *superview;
  • 获得自己的所有子控件对象 -数组元素的顺序决定了子控件的显示层级

    @property(nonatomic,readonly,copy)NSArray *subview;
  • -(void)addSubview:(UIView *)view;

    • 添加一个子控件view
    • 例:- (IBAction)buttonClick { UISwitch *s = [[UISwitch alloc]init]; [self.view addSubview:s]; }
  • (void)removeFormSuperview;

    • 从父控件中移除
  • -(UIView *)viewWithTag:(NSInteger)tag;

    • 根据一个tag标识找出对应的控件(一般都是子控件)
  • -(UIView *)viewWithTag:(NSInteger)tag;

    • 根据一个tag标识找出对应的控件(一般都是子控件)
//CGRect是一个结构体,有四个小属性,位置坐标和大小
//控件矩形框在父控件中得位置和尺寸(以父控件的左上角为坐标原点)
//向右为x正方向,纵向向下为y轴正方向。x,y分别表示距矩形边框的距离
- @property(nonatomic)CGRect frame; - @property(nonatomic)CGRect bounds;
//控件矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般为0) - @proerty(nonatomic)CGPoint center;
//控件中点的位置(以父控件的左上角为坐标原点)

注意点

  • 在按钮设置时候,type属性初始情况下是system状态,此时在按钮点击时候,会变灰。
  • 当自己定义按钮高亮、不可用等状态的时候,需要将type属性设置为Custom(自定义)

显示指示器

  • 隐藏控件的几种方法
self.addBtn.hidden = YES;  设置为隐藏

self.addBtn.alpha = 0;  设置透明度,默认是1.0(100%不透明)

[self.addBtn removeFormSuper];  直接删除

SEL类型其实就是对方法的包装 @selector(方法名)

实现计时器的方法

  • 方法1:performSelector

    [self performSelector:@selector(hideHUD) withObject:nil afterDelay:2.0]
    参数一:SEL方法
    参数二:参数
    参数三:?s延迟
  • 方法2:GCD
  • dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

      self.hud.alpha = 0.0;

    });

  • 方法3:NSTimer(当repeats=YES时候,则每隔1.5s调用一次方法)

  • [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(*) userInfo:nil repeats:NO];

HUD

  • 其他说法:指示器、遮盖、蒙板
  • 半透明的HUD做法:
    • 背景色设置为半透明颜色

常见问题

  • 项目里面的某个.m文件无法使用 -:Build Phases -> Complie Sources

  • 项目里面的某个资源文件(比如plist、音频等)无法使用

    • 检查:Build Phases -> Copy Bundle Resource
    • 什么是模型?
    • 专门用来存放数据的对象
    • 一般都是一些直接集成NSObject的纯对象
    • 内部会提供一些属性存放数据

IOS开发UI基础学习-------总结的更多相关文章

  1. iOS开发UI基础—手写控件,frame,center和bounds属性

    iOS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...

  2. IOS开发UI基础--数据刷新

    IOS开发UI基础--数据刷新 cell的数据刷新包括下面几个方面 加入数据 删除数据 更改数据 全局刷新方法(最经常使用) [self.tableView reloadData]; // 屏幕上的全 ...

  3. iOS开发-UI基础Demo

    现在更多的学习资料都是xCode4.X的,发现xCode6.1还是很多东西,如果有正在学习iOS开发的可以通过Demo简单了解下iOS的UI开发~ 1.新建单视图文件: 2.新建项目名称,语言选择OC ...

  4. iOS开发——UI基础-屏幕适配

    一.适配 1.什么是适配?适应.兼容各种不同的情况 2.移动开发中,适配的常见种类 2.1系统适配 针对不同版本的操作系统进行适配 2.2屏幕适配 针对不同大小的屏幕尺寸进行适配 二.点和像素 1.在 ...

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

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

  6. IOS开发UI基础之Plis文件-字典转模型

    什么是plist文件? 在开发中直接将数据写在代码里面 不是一种合理的做法 如果数据经常改变 就需要经常翻开对应的代码进行修改 造成代码扩展性低 因此,可以考虑将经常变的数据放在⽂文件中进⾏行存储,程 ...

  7. IOS开发-UI基础-视图

    //------------------------------UIWindow--------------------------// 1.UIWindow:是 UIView 的子类,用于管理.协调 ...

  8. IOS开发UI基础storyboard相关概念的认识

    本文主要介绍一些基本的概念 为后面的学习做个准备 需要了解的知识点有以下几个方面: storyboard文件的认识 IBAction 和IBOutlet UIViewController控制器的认识 ...

  9. IOS开发UI基础UIView

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

随机推荐

  1. 第一章 web应用程序开发原理

    [总结] 1.计算机模式  :主机  哑端计算机模式 优点:速度快  反应快 维护修理方便 数据安全性高 缺点:单台计算机安全操作 应用程序难维护 难以跨出平台 客户端 客户计算机模式 优点:速度快 ...

  2. Appweb写法

    web.xml v2.3 <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web- ...

  3. savedInstanceState的作用

    在activity的生命周期中,只要离开了可见阶段,或者说失去了焦点,activity就很可能被进程终止了!,被KILL掉了,,这时候,就需要有种机制,能保存当时的状态,这就是savedInstanc ...

  4. POJ2653判断直线是否相交

    bool judge(node p1,node p2,node p3,node p4){    if(min(p1.x,p2.x)>max(p3.x,p4.x)||min(p1.y,p2.y)& ...

  5. Html概要及示例(一)

    Html 简介 Html 是一种超文本标记语言,标记往往成对出现,例如 段落标记<p>  层标记 <div> 以及 <marqueen>等等,标记繁多 但未必就要全 ...

  6. SQLServer数据库转换成MySQL数据库

    由于工作需要,系统原先的SQLServer数据库要转换成MYSQL数据库,所以这两天就一直在查阅这方面的资料.最开始,我尝试从SQLServer中导出SQL文件,然后导入到MYSQL数据库中,发现报错 ...

  7. 2014嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛

    比赛链接: http://202.197.224.59/OnlineJudge2/index.php/Contest/problems/contest_id/36 题目来源: 2014嘉杰信息杯ACM ...

  8. Azure 媒体服务可将优质内容传输至 Apple TV

    作为内容提供商,如果想要将优质内容传输到Apple TV,需要使用Apple FairPlay Streaming (FPS)技术. 但是这个技术的构建比较繁琐,基于此,Azure提供了FairPla ...

  9. gulp基本用法

    嗨,小伙伴们,大家周五好,又到了一周中最最最期待的周五啦啦~~~ 这几天一直在研究gulp的使用方法,今天抽时间来整理一下基本步骤. gulp 的使用流程: 安装nodejs ->安装git(方 ...

  10. bootstrap-datetime 的使用

    bootstrap-datetime js的下载 http://pan.baidu.com/s/1eQnE5dK html的代码 <div class="input-group dat ...