UIView

本文详细介绍了UIView类的各种关键属性,包括透明度(alpha)、裁剪(clipToBounds)、隐藏(hidden)、用户交互(userInteractionEnabled)等,并解释了这些属性如何影响视图的显示效果和用户交互行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UIView属性

1.alpha

设置视图的透明度.默认为1.
// 完全透明
view.alpha = 0;
// 不透明
view.alpha = 1;

2.clipsToBounds

// 默认是NO,当设置为yes时,超出当前视图的尺寸的内容和子视图不会显示。
view.clipsToBounds = YES;

3.hidden

// 默认是NO,当设置为yes,视图就看不见了。
view.hidden = YES;

4.userInteractionEnabled

// 默认为YES,如果设置为No,view就不能和用户交互了。(即不能响应事件)

view.userInteractionEnabled = NO;

6. tag

// 默认为0,用来标记视图的

view.tag = 0;

7. exclusiveTouch

默认为No
exclusiveTouch的意义在于:如果当前设置了exclusiveTouch的UIView是整个触摸事件的第一响应者,那么到你所有的手指离开屏幕前其他的UIView是无法接受到整个事件周期内所有的触摸事件。

8.CGRect frame

1> 表示控件的位置和尺寸(以父控件的左上角为坐标原点(0, 0))
2> 修改这个属性,可以调整控件的位置和尺寸

9.CGPoint center

1> 表示控件的中点(以父控件的左上角为坐标原点)
2> 修改这个属性,可以调整控件的位置

10.CGRect bounds

1> 表示控件的位置和尺寸(以自己的左上角位坐标原点,位置永远是(0, 0))
2> 修改这个属性,只能调整控件的尺寸

11.CGAffineTransform transform

1> 表示控件的形变状态(旋转角度、缩放比例)
2> 创建CGAffineTransform的函数
* CGAffineTransformMakeScale(CGFloat sx, CGFloat sy)
创建一个x、y方向的缩放比例分别为sx、sy的形变值

  • CGAffineTransformMakeRotation(CGFloat angle)
    创建一个旋转角度为angle的形变值

  • CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy)
    在形变值t的基础上,再进行缩放,x、y方向的缩放比例分别为sx、sy,然后返回一个新的形变值

  • CGAffineTransformRotate(CGAffineTransform t, CGFloat angle)
    在形变值t的基础上,再进行旋转,旋转角度为angle,然后返回一个新的形变值

12.superview

返回当前视图的父视图。(只读)

13.window

返回当前视图的窗口。(窗口)

获取根视图的superview和window时,需要注意,在viewdidload中是获取不到的,viewdidload只是视图加载完成,并没有添加到窗口中,因此需要在viewDidAppear方法中才能获取到。那时候视图才被添加到窗口中。

- (void)viewDidLoad
{
    [super viewDidLoad]; 
    NSLog(@"%@",self.view.superview); // 没有值
    NSLog(@"%@", self.view.window); // 没有值
}
- (void)viewDidAppear:(BOOL)animated
{
    NSLog(@"%@",self.view.superview); // 有值
    NSLog(@"%@", self.view.window);  // 有值
}

14.autoresizesSubviews

默认为YES,表示当父视图尺寸改变时,子视图也会随着改变。

15.autoresizingMask

默认为UIViewAutoresizingNone,不会自动伸缩。

16.contentMode

设置内容模式。
UIViewContentModeScaleToFill 不按照原宽高比例(长和宽不等比例增长)以任意比例填充。这样视图不会有空白,且内容可以全部显示。
UIViewContentModeAspectToFill 按照原长宽比例填充,不完全显示全部内容。这样内容可能溢出,但整个视图不会留有空白。
UIViewContentModeAspectToFit 按照原长宽比例(长和宽等比例增长),完全显示全部内容。这样容易照成左右或者上下留有空白。

17.backgroundColor

默认是nil。
// 设置背景颜色为红色
self.view.backgroundColor = [UIColor redColor];

18.UIView常用添加子视图方法

1.  //加一个视图到一个视图里面  
2.  addSubview:  
3.  //将一个视图移到前面  
4.  bringSubviewToFront:  
5.  //将一个视图推送到背后  
6.  sendSubviewToBack:  
7.  //把视图移除  
8.  removeFromSuperview  
9.  //插入视图 并指定索引  
10. insertSubview:atIndex:  
11. //插入视图在某个视图之上  
12. insertSubview:aboveSubview:  
13. //插入视图在某个视图之下  
14. insertSubview:belowSubview:  
15. //交换两个位置索引的视图  
16. exchangeSubviewAtIndex:withSubviewAtIndex:  

声明:这是之前朋友的资料,可能比较旧,在此仅仅做个人备份,大家参考看,如果涉及侵权了联系我删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值