UI基本控件(三):UISlide、UISwitch、UIView

一、UISlide ——滑块控件

作用:允许用户使用手指拖动滑块,产生数值变化的控件

属性

minimumValue:滑块的最小数值

maximumValue:滑块的最大数值

value:滑块的当前数值

需要注意的时:滑块没有步长,滑块数值通常是连续变化的,这样可以保证滑块动画的连续性,因此,我们在使用滑块时,需要格外留意是否有重复刷新的情况,例如照片查看器示例程序

Action: valueChanged

  • minimumValue  : 当值可以改变时,滑块可以滑动到最小位置的值,默认为0.0

_slider.minimumValue = 10.0;

 

  • maximumValue : 当值可以改变时,滑块可以滑动到最大位置的值,默认为1.0

_slider.maximumValue = 100.0;

 

  • continuous : 如果设置YES,在拖动滑块的任何时候,滑块的值都会改变。默认设置为YES

[_slider setContinuous:NO]; // 在滑块滑动结束时才获取滑块的值

  • minimumValueImage : 滑块条最小值处设置的图片,默认为nil

 _slider.minimumValueImage = [UIImage imageNamed:@"003.png"];

 

  • maximumValueImage滑块条最大值处设置的图片,默认为nil

_slider.maximumValueImage = [UIImage imageNamed:@"002.png"];

 

6.minimumTrackTintColor : 小于滑块当前值滑块条的颜色,默认为蓝色

_slider.minimumTrackTintColor = [UIColor redColor];

 

7.maximumTrackTintColor: 大于滑块当前值滑块条的颜色,默认为白色

_slider.maximumTrackTintColor = [UIColor greenColor];

 

8.thumbTintColor : 当前滑块的颜色,默认为白色

_slider.thumbTintColor = [UIColor yellowColor];

 

9.currentMaximumTrackImage : 滑块条最大值处设置的图片

10.currentMinimumTrackImage : 滑块条最小值处设置的图片

11.currentThumbImage: 当前滑块的图片

二、UISwitch——开关控件

作用:设置某一个属性开或者关的状态

属性

state属性:on/off

使用isOn可以判断开关当前是否打开

Action: valueChanged

1. onTintColor 

  处于on时switch 的颜色

  switchImage.onTintColor = [UIColor grayColor];

2.tintColor 

处于off时switch 的颜色

switchImage.tintColor = [UIColor greenColor];

3.onImage    

  设置on 的图标

 switchImage.onImage = [UIImage imageNamed:@"1.png"];

4. offImage   设置off的图标

switchImage.offImage = [UIImage imageNamed:@"4.png"];

 5. on

设置switch的开关

swithImage.on = YES;

6.thumbTintColor

设置拇指颜色

swithImage.thumbTintColor = [UIColor redColor];

效果:

7.增加事件响应机制

监听的是这个事件:UIControlEventValueChanged,值改变事件

[switchImage addTarget:self            
                action:@selector(switchOn) 
      forControlEvents:UIControlEventValueChanged];

三、UIView

作用:

  1. 是一个容器,可以容纳任何的控件或者视图
  2. 所有的控件,最终均继承自UIView

属性:

1.继承类属性:

superView:每一个UIView最多只能有一个父视图,注意:UIViewController的根视图没有父视图。

subViews:当前视图所包含的子视图/控件

2.位置大小类属性

frame:设置视图的边框

bounds:设置视图的边界,用于指定视图的大小,常用于视图的子控件设置位置,因为bounds属性的原点,永远是(0,0)

center:设置视图的中心点位置,通常用于指定视图的位置,在视图动画中比较常用

注意:

frame和center可以指定UIView的位置

frame和bounds可以指定UIView的大小

3.形变属性

transform:可以指定视图的平移、旋转和缩放属性

 

  • CGAffineTransformRotate、CGAffineTransformScale、CGAffineTransformTranslation三个函数用于基于UIView当前的形变属性继续变形
  • CGAffineTransformMakeRotate、CGAffineTransformMakeScale、CGAffineTransformMakeTranslation三个函数用于基于UIView初始的形变进行变形

动画:

UIView封装了三个块代码动画:

  • [UIView animateWithDuration:animations:]
  • [UIView animateWithDuration:animations:completion:]
  • [UIView animateWithDuration: delay: options: animations: completion:]

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,如果设置为Noview就不能和用户交互了。(即不能响应事件)

view.userInteractionEnabled = NO;

5. tag

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

view.tag = 0;

6. exclusiveTouch

默认为No

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

7.CGRect frame

1> 表示控件的位置和尺寸(以父控件的左上角为坐标原点(0, 0))

2> 修改这个属性,可以调整控件的位置和尺寸

8.CGPoint center

1> 表示控件的中点(以父控件的左上角为坐标原点)

2> 修改这个属性,可以调整控件的位置

9.CGRect bounds

1> 表示控件的位置和尺寸(以自己的左上角位坐标原点,位置永远是(0, 0)

2> 修改这个属性,只能调整控件的尺寸

10.CGAffineTransform transform

1> 表示控件的形变状态(旋转角度、缩放比例)

2> 创建CGAffineTransform的函数

创建一个xy方向的缩放比例分别为sxsy的形变值

* CGAffineTransformMakeScale(CGFloat sx, CGFloat sy)

创建一个旋转角度为angle的形变值

* CGAffineTransformMakeRotation(CGFloat angle)

在形变值t的基础上,再进行缩放,xy方向的缩放比例分别为sxsy,然后返回一个新的形变值

* CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy)

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


* CGAffineTransformRotate(CGAffineTransform t, CGFloat angle)11.superview 

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

12.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);  // 有值

}

13.autoresizesSubviews

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

14.autoresizingMask

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

15.contentMode

设置内容模式。

UIViewContentModeScaleToFill  

不按照原宽高比例(长和宽不等比例增长)以任意比例填充。这样视图不会有空白,且内容可以全部显示。

UIViewContentModeAspectToFill  

按照原长宽比例填充,不完全显示全部内容。这样内容可能溢出,但整个视图不会留有空白。

UIViewContentModeAspectToFit  

按照原长宽比例(长和宽等比例增长),完全显示全部内容。这样容易照成左右或者上下留有空白。

16.backgroundColor

默认是nil。

// 设置背景颜色为红色

self.view.backgroundColor = [UIColor redColor];

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

  • //加一个视到一个视里面    addSubview:  
  • //一个视移到前面   bringSubviewToFront:  
  • //一个视推送到背后   sendSubviewToBack:  
  • //把视移除   removeFromSuperview  
  • //插入视 并指定索引  insertSubview:atIndex:  
  • //插入视在某个视之上  insertSubview:aboveSubview:  
  • //插入视在某个视之下  insertSubview:belowSubview:  
  • //两个位置索引的视  exchangeSubviewAtIndex:withSubviewAtIndex:  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值