UIView的常见属性和方法

1.属性

@property(nonatomic,readonly)UIView *superview;
获得自己的父控件对象

@property(nonatomic,readonly,copy)NSArray *subviews;
获得自己的所有子控件对象

@property(nonatomic)NSInteger tag;
控件的ID\标识,父控件可以通过tag来找到对应的子控件

@property(nonatomic)CGAffineTransform transform;
控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)

@ property( nonatomic) CGRect frame;
控件所在矩形框在父控件中的位置和尺寸( 以父控件的左上角为坐标原点

@ property( nonatomic) CGRect bounds;
控件所在矩形框的位置和尺寸( 以自己左上角为坐标原点,所以bounds的x\y一般为0)

@ property( nonatomic) CGPoint center;
控件中点的位置( 以父控件的左上角为坐标原点

@property(nonatomic)CGFloat alpha;

透明度(范围0.0~1.0)  1是不透明,0是最透明,默认是1


//是否响应用户的交互

//UILabelUIImageView都不是默认不响应用户交互的

//UIViewUIButton默认响应用户交互的

view.userInteractionEnabled =YES;


注:去掉Auto Layout 才能用代码改变控件大小和位置



transform属性

•利用transform属性可以修改控件的位移(位置)、缩放、旋转

•创建一个transform属性
CGAffineTransform CGAffineTransformMakeTranslation( CGFloat tx,  CGFloat ty) ;
CGAffineTransform CGAffineTransformMakeScale( CGFloat sx, CGFloat sy);
CGAffineTransform CGAffineTransformMakeRotation( CGFloatangle)

(angle是弧度制,并不是角度制)

在某个transform的基础上进行叠加
CGAffineTransform CGAffineTransformTranslate( CGAffineTransform t, CGFloat tx, CGFloat ty);
CGAffineTransform CGAffineTransformScale( CGAffineTransform t, CGFloat sx, CGFloat sy);
CGAffineTransform CGAffineTransformRotate( CGAffineTransform t, CGFloat angle);

•清空之前设置的transform属性

view.transform =CGAffineTransformIdentity;


2. 方法

1. ( void)addSubview:( UIView*)view;
添加一个子控件view

2. ( void)removeFromSuperview;
从父控件中移除

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

4.将某个视图放在最前面或最后面显示

[self.windowbringSubviewToFront:loginView];//最前

[self.windowsendSubviewToBack:loginView];最后

5.知道一个视图中有几个子视图

   NSArray *array = self.window.subviews;

   NSLog(@"count=%u",array.count);


6.获取视图的父视图

   UIView *superView = loginView.superview;

   NSLog(@"view = %@",superView);


7.隐藏视图

mainView.hidden = YES;


8.交换两个view

[self.windowexchangeSubviewAtIndex:0withSubviewAtIndex:1];


9.将一个视图插入到指定位置

[self.window insertSubview:blueView atIndex:0];

    

10.将一个视图放置到另一个视图之上

[self.window insertSubview:redView aboveSubview:blueView];

    

11.将一个视图放置到另一个视图之下

[self.window insertSubview:redView belowSubview:blueView];




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值