【学习ios之路:UI系列】ios中常见的几种控件.(UISlider,UISwitch,UIStepper,UISegmentedControl)

【学习ios之路:UI系列】ios中常见的几种控件.(UISlider,UISwitch,UIStepper,UISegmentedControl)

2015-01-16 18:10







一.滑块控件(UISlider)  效果如下


注:系统原来效果如下


具体功能运用:

①创建滑块控件(UISlider),设置控件大小,并添加到window视图上,后释放


 UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(20, 30, 280, 100)];

 [self.window addSubview:slider];

 [slider release];

②设置最大值,最小值,以及开始时滑动条所在的位置



    //设置最大值10

    [slider setMaximumValue:10];

    //设置最小值0

    [slider setMinimumValue:0];

    slider.value = 5;//当前位置是4.显示效果如上图.

③设置滑动条的颜色,即滑动前和滑动后的颜色



  slider.minimumTrackTintColor = [UIColor orangeColor];//设置移动前线条的颜色

  slider.maximumTrackTintColor = [UIColor blackColor];//设置移动后线条的颜色

    

④设置滑动控件左右的图片 

slider.minimumValueImage = [UIImage imageNamed:@"1@2x.png"];//设置滚动条最左边的图片

slider.maximumValueImage = [UIImage imageNamed:@"3@2x.png"];//设置滚动条最右边的图片

⑤设置手指点击时按钮的颜色



slider.thumbTintColor = [UIColor grayColor];//设置中间按钮移动按钮的颜色

⑥将按钮换成图片,正常状态下



[slider setThumbImage:[UIImage imageNamed:@"4@2x.png"] forState:UIControlStateNormal];

⑦移动时触发的响应事件


1).触发状态为:UIControlEventValueChanged,当触发时,slider.value的值会随之改变

2)当UISlider的进度值发生改变时,会自动调用self的function:方法,并且将UISlider作为第一个参数传入.


 [slider addTarget:self action:@selector(function:) 

                                       forControlEvents:UIControlEventValueChanged];

⑧其他功能



//设置轴迹图片

- (void)setMinimumTrackImage:(UIImage *)image forState:(UIControlState)state;

- (void)setMaximumTrackImage:(UIImage *)image forState:(UIControlState)state;

//通过状态获取点击按钮的图片

- (UIImage *)thumbImageForState:(UIControlState)state;

//通过事件触发状态获取足迹图片.

- (UIImage *)minimumTrackImageForState:(UIControlState)state;

- (UIImage *)maximumTrackImageForState:(UIControlState)state;


//获取当前状态时的对应要的图片

UIImage *image = slider.currentThumbImage; 

<span style="font-size:18px;"></span><pre name="code" class="objc">UIImage *image = slider.currentMinimumTrackImage; 

UIImage *image = slider.currentMaximumTrackImage; 




二. 开关控件(UISwitch) 效果如下 



开关控件的常见操作:

①创建开关控件,设置大小,添加到视图上,并释放


UISwitch *switchView = [[UISwitch alloc] initWithFrame:CGRectMake(50, 100, 280, 100)];

[self.window addSubview:switchView];

[switchView release];

②设置开关状态



BOOL setting =  switchView.isOn;//获得开关状态

[switchView setOn:setting animated:YES];//设置开关状态

③设置颜色



  //<span style="font-size:14px;">开关控件切换槽<span class="s6"> </span>颜色</span>.如将上面的绿色替换成橘黄色

  switchView.onTintColor = [UIColor orangeColor];

  //设置按钮的颜色

  switchView.thumbTintColor = [UIColor redColor];

  //<span style="font-size:14px;">开关控件外部的颜色</span>

  switchView.tintColor = [UIColor purpleColor];

④设置图片( 在ios7 中无效果)



switchView.onImage = [UIImage imageNamed:@"1@2x.png"];

    

switchView.offImage = [UIImage imageNamed:@"3@2x.png"];

    

⑤开关控件触发的事件处理



[switchView addTarget:self action:@selector(switchTag:)

                                   forControlEvents:UIControlEventValueChanged];

实现代码如下switchTag:



- (void)switchTag:(UISwitch *)switchTag {     

        BOOL setting = switchTag.isOn;

        [swithch setOn:setting animated:YES];

        if (setting)

        {

            NSLog(@"on");

        }else

        {

            NSLog(@"off");

        }

  }

三. 计数器控件(UIStepper)效果如下



创建功能如下

①创建计数器控件,并释放


UIStepper *step = [[UIStepper alloc] init];

step.frame = CGRectMake(50, 300, 300, 300);

[self.window addSubview:step];

[step release];

②设置最大值和最小值,以及每次加减时的值


   每按一次减号,value就会自动减去一定的数值(数值大小由stepValue决定)

   每按一次加号,value就会自动增加一定的数值(数值大小由stepValue决定)


    step.maximumValue = 1;

    step.minimumValue = 0.1;

    step.stepValue = 0.1;//每次增减的值

③设置是否循环和是否连续



step.continuous = YES;//默认是yes

step.wraps = YES;//判断是否循环,即到最大值后又从最小值开始.

④设置颜色,如上图的紫色



 step.tintColor = [UIColor purpleColor];//设置按钮的颜色;

 [step setBackgroundColor:[UIColor orangeColor]];//设置背景颜色

 [step setBackgroundImage:[UIImage imageNamed:@"1@2x.png"]

                                               forState:UIControlStateNormal];


⑤其它操作



//设置背景图片,再某个状态时

- (void)setBackgroundImage:(UIImage*)image forState:(UIControlState)state 

//在某个状态时,获取背景图片,

- (UIImage*)backgroundImageForState:(UIControlState)state

⑥数字控件的事件处理



 [step addTarget:self action:@selector(stepTag:) 

                                 forControlEvents:UIControlEventValueChanged];

//事件响应方法实现

- (void)stepTag:(UIStepper *)stepper {

    [self.window viewWithTag:200].alpha = stepper.value;

四. 选项卡控件UISegmentedControl,效果图如下



实现操作如下:


   NSArray *arr = [NSArray arrayWithObjects:

                       @"轻拍", @"长按", @"轻扫", @"平移", @"捏合", @"旋转", nil];

    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] 

                                                         initWithItems:arr];

    segmentedControl.frame = CGRectMake(10, 40, 300, 40);

    [segmentedControl addTarget:self action:@selector(function:) 

                             forControlEvents:UIControlEventValueChanged];

    [self.window addSubview:segmentedControl];

    

   

其他操作



- (void)removeSegmentAtIndex:(NSUInteger)segment animated:(BOOL)animated;

- (void)removeAllSegments;//输出所有选项卡

  <span style="font-size:18px;"></span><pre name="code" class="objc"> segmentedControl.tintColor = [UIColor orangeColor];//设置边框颜色

    <span style="font-size:18px;"></span><pre name="code" class="objc"><pre name="code" class="objc"> NSInteger count  = segmentedControl.numberOfSegments;//计算个数


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值