iOS开发(7)通过uiimageView浅谈UIView
2014-04-07 15:44
357 查看
基本上,每一个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
这又是一个很重要的属性。转换属性。
![](http://img.blog.csdn.net/20140407154122546?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzI2MzkxNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
以上可以看到一些基本的旋转,缩放。
以上只是根据个人平时的研究泛泛的介绍一下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开发(6)uiimageView
- N-Queens
- Java线程(七):阻塞队列BlockingQueue
- Longest Repeated Sequence
- Longest Repeated Sequence
- ffmpeg 转AAC时出现Unable to find a suitable output format for
- iOS开发(4)UITextField
- easyui之dialog destroy 和close
- UE4的蓝图都能做什么
- 《APUE》chapter 12 Thread control 学习笔记(加上自己的代码)
- HDU 1242 Rescue (搜索 DFS)
- 构建seajs业务模块之grunt VS spm build
- zoj 3349 Special Subsequence(dp+线段树优化)
- YUI3内核分析(一)——YUI3实例化过程
- IOS学习笔记36—解决键盘遮挡输入框(UITextField)问题
- Unique Paths II
- 快速开发平台 WebBuilder 6.8.2 发布
- Unique Paths
- Android UI控件详解-Dialog(对话框合集)
- MIUI bug