IOS开发UI基础学习-------总结

  • 什么叫控件?

    • 屏幕上所有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的纯对象
    • 内部会提供一些属性存放数据
时间: 2024-10-13 22:18:58

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

iOS开发UI基础—IOS开发中Xcode的一些使用技巧

iOS开发UI基础-IOS开发中Xcode的一些使用技巧 一.快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n     新建项目 cmd + n             新建文件 视图 option + cmd + 回车 打开助理编辑器 cmd + 回车           显示主窗口 cmd + 0             导航窗口 option + cmd + 0    工具窗口 在.m & .h之间切换           control + cmd + 上/下

ios开发UI基础—Kvc简单介绍

一.KVC简单介绍 KVC key valued coding 键值编码 KVC通过键值间接编码 补充: 与KVC相对的时KVO,即key valued observer 键值观察.监听某一个模型的属性,只要模型属性的值一变化就通知你. 二.使用KVC 1.KVC基本使用介绍 (1)代码示例: 新建一个命令行项目,用以演示KVC的用法 完成之后为项目添加一个Person类. 为Person类添加两个属性(name和age),注意这两个属性的类型. 1 #import <Foundation/Fo

IOS开发UI基础—在UIImageView中添加按钮以及Tag的参数说明

ios开发UI基础-在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwithtag: 提示点:在xib中如果想要通过tag参数获取对应的控件(属性),不要把tag的参数设置为0,因为xib中所有的对象默认tag都为0,设置为0取不到对象. 二.ImageView中添加按钮(1)ImageView和Button的比较 Button按钮的内部可以放置多张图片(4),而Im

iOS开发UI基础—xib的简单使用

iOS开发UI基础-xib的简单使用 一.简单介绍 xib和stotyboard的比较,一个轻量级一个重量级. 二.xib的简单使用 1.建立xib文件 建立的xib文件命名为appxib.xib 2.对xib进行设置 根据程序的需要,这里把view调整为自由布局 建立view模型(设置长宽等参数) 调整布局和内部的控件 完成后的单个view 3.使用xib文件的代码示例 YYViewController.m文件代码如下: 1 // 2 // YYViewController.m 3 // 10

iOS开发UI基础—简单的浏览器查看程序

iOS开发UI基础-简单的浏览器查看程序 一.程序实现要求 1.要求 2. 界面分析 (1) 需要读取或修改属性的控件需要设置属性 序号标签 图片 图片描述 左边按钮 右边按钮 (2) 需要监听响应事件的对象,需要添加监听方法 左边按钮 右边按钮 二.实现基本功能的程序 1 // 2 // YYViewController.m 3 // 03-图片浏览器初步 4 // 5 // Created by apple on 14-5-21. 6 // Copyright (c) 2014年 itcas

iOS开发UI基础—transframe属性(形变)

iOS开发UI基础-transframe属性(形变) 1. transform属性 在OC中,通过transform属性可以修改对象的平移.缩放比例和旋转角度 常用的创建transform结构体方法分两大类 (1) 创建"基于控件初始位置"的形变 CGAffineTransformMakeTranslation(平移) CGAffineTransformMakeScale(缩放) CGAffineTransformMakeRotation(旋转) (2) 创建"基于trans

iOS开发UI基础—懒加载

iOS开发UI基础-懒加载 1.懒加载基本 懒加载--也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,写的是其get方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化 2.使用懒加载的好处: (1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强 (2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合 3.代码示例 1 // 2 // YYViewController.m

iOS开发UI基础—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局

ios开发UI基础-使用纯代码自定义UItableviewcell实现一个简单的微博界面布局 一.实现效果 二.使用纯代码自定义一个tableview的步骤 1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:reuseIdentifier:方法 添加所有需要显示的子控件(不需要设置子控件的数据和frame,  子控件要添加到contentView中) 进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片) 3.提供2个模型 数据模型:

iOS开发UI基础—从代码的逐步优化看MVC

iOS开发UI基础-从代码的逐步优化看MVC 一.要求 要求完成下面一个小的应用程序. 二.一步步对代码进行优化 注意:在开发过程中,优化的过程是一步一步进行的.(如果一个人要吃五个包子才能吃饱,那么他是否直接吃第五个,前面四个不用吃就饱了?) 1.完成基本要求的代码(使用了字典转模型和xib连线) (1)文件结构 (2)主要代码 字典转模型部分: YYappInfo.h头文件 1 // 2 // YYappInfo.h 3 // 12-视图改进(1) 4 // 5 // Created by