iOS开发(7)通过uiimageView浅谈UIView
基本上,每一个IOS控件都有自己的VIew,View就是显示到屏幕上的视图。而屏幕就相当于显示各种View的容器。就好像是一个画家在自己的画布上写东西,很有意义把? 一个画家要想画出漂亮的东西就需要各种不同的画笔,就相当于UIView的各种属性,所以充分了解研究UIView的.h文件是很重要的。
@property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled; // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
@property(nonatomic) NSInteger tag; // default is 0
@property(nonatomic,readonly,retain) CALayer *layer; // returns view's layer. Will always return a non-nil value. view is layer's delegate
@property(nonatomic) CGRect frame;
// use bounds/center and not frame if non-identity transform. if bounds dimension is odd, center may be have fractional part
@property(nonatomic) CGRect bounds; // default bounds is zero origin, frame size. animatable
@property(nonatomic) CGPoint center; // center is center of frame. animatable
@property(nonatomic) CGAffineTransform transform; // default is CGAffineTransformIdentity. animatable
以上只是列出部分常用的UIView的属性,绝大部分基本就够用了。以下请由我逐一介绍
1.userInteractionEnabled
该View是否能够交互,比如说在一个UIImageView的图片上面添加一个可点击的按钮,如果这个属性不设为YES,屏幕是不会感应到按钮被点击的。
2.tag
这是一个视图的标签。例如上一节中的UIImageView *uiv.
uiv.tag = 1;
在不把控件声明为全局变量的情况下,我们可以通过一个UIView的viewWithTag方法得到这个uiv。
UIImageView *i = [self.view viewWithTag:1];
如果这样写会有一个报错,ncompatible pointer types initializing 'UIImageView *' with an expression of type 'UIView *' 原因就是UIView不能识别这个tag的类型,所以需要强转为自己需要的类型。
UIImageView *i = (UIImageView *)[self.view viewWithTag:1];
3.layer
这是一个很重要的也是很特殊的东西,layer层就相当于View背后的一个层,View的作用只是在Controller中显示,而真正决定View显示的内容就是这个layer层。
比如说给UIImageView设置圆角就在这个layer层
[uiv setMasksToBounds:YES];//打开边框布景开关
[uiv setCornerRadius:25];//设置圆角半径
4.frame
UIview显示的范围
5.bounds
UIView的边框
6.center
UIview的中心坐标
7.transform
这又是一个很重要的属性。转换属性。
以上可以看到一些基本的旋转,缩放。
以上只是根据个人平时的研究泛泛的介绍一下UIView.h文件里面常用的属性。至于更多的需要的东西,大家可以没事的时候研究一下。如果不当之处,还望高手指正。
iOS开发(7)通过uiimageView浅谈UIView相关推荐
- iOS 核心动画 Core Animation浅谈
代码地址如下: http://www.demodashi.com/demo/11603.html 前记 关于实现一个iOS动画,如果简单的,我们可以直接调用UIView的代码块来实现,虽然使用UIVi ...
- iOS 自定义转场动画浅谈
代码地址如下: http://www.demodashi.com/demo/11612.html 路漫漫其修远兮,吾将上下而求索 前记 想研究自定义转场动画很久了,时间就像海绵,挤一挤还是有的,花了差 ...
- api 二次 开发 禅道_浅谈-软件开发流程
先直接放出我对软件开发的相关人员职责和流程: 图一:软件开发的相关人员职责 以下是截屏的开发流程泳道图: 横轴是相关开发人员的工作模块:纵轴是从上至下开发时序周期. 图二:软件开发的流程图 从职责图和 ...
- [iOS、Unity、Android] 浅谈闭包的使用方法
2019独角兽企业重金招聘Python工程师标准>>> 前言 我们经常所编程语言的的进步速度是落后于硬件的发展速度的. 但是最近几年,闭包语法在各个语言中都有自己的体现形式,例如 • ...
- iOS与安卓的区别 浅谈ios为什么比安卓流畅
不少人都反应苹果iPhone要比一般Android手机流畅,这是一个现象要说是大问题谈不上,毕竟两者是完全两个不同的系统所以严格来说放在一起对比是不公平的.不过因为Android以及iOS是当下两大主 ...
- android+多处理器+ios,ios与安卓的区别 浅谈ios为什么比安卓流畅 (2)
硬件工作配置不同:iOS基于GPU加速 目前智能手机硬件装备竞赛当中,其实处理器等配置已经达到了一个瓶颈期,各大旗舰产品在硬件比拼当中基本上没有太大的区别,而这时候GPU就成为了一个凸显差异的重要因素 ...
- iOS探索:Block解析浅谈
什么是Block Block是将函数及其执行上下文封装起来的对象 接下来让我们通过源码来看一看Block的本质 我们在一个方法中写了三行代码,第一行是定义了一个局部变量,第二行是一个Block,第三行 ...
- python全栈开发工程师招聘_浅谈Python全栈开发工程师,让程序员都眼红的职业!...
若把学C/C++难度比作做冰箱设计师,那么Java就是公司做冰箱的工人,而Python就是使用冰箱的客户.这只是难度的比较,那么就有人要说Python肯定很弱了,是真的如此吗? 领域--------流 ...
- 产品经理—开发转产品,浅谈自我学习与探索
编辑导语:如今有越来越多人正想着入职产品岗位,产品经理不论出生,人人都是产品经理,然而想做好产品经理也绝非易事.本文讲述了作者从开发转向产品岗位的背景.想法.学习和探索过程的些许经验,亦或是对自己转行 ...
最新文章
- Spring框架中的9种设计模式汇总
- IntellIJ IDEA 配置 Maven 以及 修改 默认 Repository
- (三)html5的结构
- ​内核调试技巧--systemtap定位丢包原因
- resource 注解下的name爆红
- oracle数据库日期格式的运算,Oracle时间类型date,timestamp时间差计算
- nginx location配置详细解释
- bzoj 1665: [Usaco2006 Open]The Climbing Wall 攀岩(最短路)
- linux提示qq不是最终版本,Deepin中QQ出现当前版本存在安全风险,将于2019年10月30日停止使用的解决...
- 贵州最新特种工(施工升降机)模拟题集及答案
- eclipes的使用
- html css 基本词汇
- 我们计划招收300名学员,免费学习人工智能专业
- 【MySQL学习笔记】MySQL原理---单表查询
- 语音识别数据集及性能评测指标WER
- ETCP全国4000家停车场全部支持银联无感支付!
- python爬取百度搜索答案题目和摘要
- flash写保护原理_【转】NOR Flash擦写和原理分析
- 计算机网络 组网设计 论文,网络设计论文范文
- 计算机的最小存储单位和数据传输的最小单位