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的纯对象
- 内部会提供一些属性存放数据
IOS开发UI基础学习-------总结的更多相关文章
- iOS开发UI基础—手写控件,frame,center和bounds属性
iOS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...
- IOS开发UI基础--数据刷新
IOS开发UI基础--数据刷新 cell的数据刷新包括下面几个方面 加入数据 删除数据 更改数据 全局刷新方法(最经常使用) [self.tableView reloadData]; // 屏幕上的全 ...
- iOS开发-UI基础Demo
现在更多的学习资料都是xCode4.X的,发现xCode6.1还是很多东西,如果有正在学习iOS开发的可以通过Demo简单了解下iOS的UI开发~ 1.新建单视图文件: 2.新建项目名称,语言选择OC ...
- iOS开发——UI基础-屏幕适配
一.适配 1.什么是适配?适应.兼容各种不同的情况 2.移动开发中,适配的常见种类 2.1系统适配 针对不同版本的操作系统进行适配 2.2屏幕适配 针对不同大小的屏幕尺寸进行适配 二.点和像素 1.在 ...
- iOS开发——UI基础-控制器,IBAction和IBOutlet,UIView
第一个ios程序 @interface ViewController : UIViewController @property(nonatomic, weak)IBOutlet UILabel *la ...
- IOS开发UI基础之Plis文件-字典转模型
什么是plist文件? 在开发中直接将数据写在代码里面 不是一种合理的做法 如果数据经常改变 就需要经常翻开对应的代码进行修改 造成代码扩展性低 因此,可以考虑将经常变的数据放在⽂文件中进⾏行存储,程 ...
- IOS开发-UI基础-视图
//------------------------------UIWindow--------------------------// 1.UIWindow:是 UIView 的子类,用于管理.协调 ...
- IOS开发UI基础storyboard相关概念的认识
本文主要介绍一些基本的概念 为后面的学习做个准备 需要了解的知识点有以下几个方面: storyboard文件的认识 IBAction 和IBOutlet UIViewController控制器的认识 ...
- IOS开发UI基础UIView
主要介绍下UIView得基本概念和一些属性的介绍至于属性的用户后面会由详细的介绍 -.UIView基本概念 1.什么是控件? 屏幕上所有的UI元素都叫做控件 (也有很多书中叫做视图 组件) 比如 按钮 ...
随机推荐
- MFC绘图(转载)
http://www.cppblog.com/bestcln/articles/83189.html 1 几何对象的结构和类 为了使用绘图函数,应该先了解绘图所用到的几种表示几何对象的结构和类.这些结 ...
- 安装PLSQL,登录报“无法解析指定的连接标识符的错误”
安装PLSQL,本地不需要安装oracle服务器,但要安装oracle客户端. 一.安装客户端需要配置服务命名,tnsnames.oRA文件和监听(因为我开始没有配置监听,所以一直报无法解析制定的连接 ...
- SIP模块版本错误问题:the sip module implements API v??? but XXX module requires API v???
系统安装了python 2.7,继续安装PyQt4,于是依次下载sip.pyqt4源码进行安装.用以下代码测试: import PyQt4.QtGui 显示出错.错误信息:the sip module ...
- javascript之小积累-匿名函数表达式的最佳实践
在写js的时候,还是经常会用的匿名函数表达式,比如 setTimeout(function() { console.log(110); }, 1000); 上面那个function()就是匿名函数表达 ...
- Qt图形视图框架公开课资料
接受CSDN学院的邀请,讲一次公开课,主题是Qt图形视图框架,报名链接在这里:http://edu.csdn.net/huiyiCourse/detail/228. 内容有两部分:自定义Item和拖放 ...
- 第一篇博文,整理一下关于Mac下安装本地LNMP环境的一些坑
安装的主要步骤是按照以下这篇文章进行的http://blog.csdn.net/w670328683/article/details/50628629,但是依然遇到了一些大大小小的坑(一个环境搞了一天 ...
- Javascript之Prototype
1.原型设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展.我们称B的原型为A. 2.javascr ...
- declaration is incompatible with "__nounwind __interwork __softfp unsigned long __get_PSP(void)" IAR 编译报故障
原因是以前的CMSIS CORTEX-CM0 文件太老了. 使用新文件就可以.
- 吴奇隆刘诗诗婚礼场地:巴厘岛Ayana酒店,美到窒息!
导读:忍不住转载一下,原文地址:http://www.sjq315.com/news/270768.html 3月20日,吴奇隆和刘诗诗在巴厘岛五星级酒店Ayana Resort and Spa酒店举 ...
- 使用navigator.geolocation来获取用户的地理位置信息
使用navigator.geolocation来获取用户的地理位置信息 W3C 中新添加了一个名为 Geolocation的 API 规范,Geoloaction API的作用就是通过浏览器获取用户的 ...