美文网首页
第四章:第四节 UISwitch、UISegmentContro

第四章:第四节 UISwitch、UISegmentContro

作者: 清杨程 | 来源:发表于2018-09-13 16:59 被阅读16次

    step—1:UISwitch

     //1、声明对象

    @property(nonatomic,strong)UISwitch*switchX;

    //2、创建

    self.switchX= [[UISwitchalloc]init];

    self.switchX.frame=CGRectMake(self.view.frame.size.width/2,self.view.frame.size.height/2,51,31);

    //用于打开开关外观的颜色

    self.switchX.onTintColor= [UIColorgreenColor];

     //用于在开关关闭时调整开关轮廓的颜色

     self.switchX.tintColor= [UIColorpurpleColor];

     //thumb外观颜色

     self.switchX.thumbTintColor= [UIColorblueColor];

     //设置初始为ON

     [self.switchX setOn:YESanimated:YES];

     //3、添加事件

     [self.switchXaddTarget:selfaction:@selector(switchAction:)forControlEvents:UIControlEventValueChanged];

     //4、添加视图

     [self.viewaddSubview:self.switchX];

    //5、方法的实现

    - (void)switchAction:(UISwitch*)click{

        NSLog(@"%@", click.isOn?@"开...":@"关...");

    }

    step—2:UISegmentControl

     //1、声明对象

    @property(nonatomic,strong) UISegmentedControl *segmentedcontrol;

    //2.添加标题数组标题

        NSArray *segmentArry = [NSArray arrayWithObjects:@"中国",@"美国",@"大不列颠英国",@"环俄罗斯",nil];

       //3、创建

       self.segmentedcontrol = [[UISegmentedControl alloc] initWithItems:segmentArry];

       //iOS 7.0后被弃用

       //self.segmentedcontrol.segmentedControlStyle = UISegmentedControlStylePlain;

       self.segmentedcontrol.frame = CGRectMake(20,40,self.view.frame.size.width-40,30);

       //默认值为NO,即点击后保持选中状态,如果设置为YES则,只是短暂的显示选中状态

       self.segmentedcontrol.momentary =YES;

       //指示控件是否根据其内容宽度来调整片段宽度

       self.segmentedcontrol.apportionsSegmentWidthsByContent =YES;

       //设置UISegmentedControl的边框、分割线、文字、点击后的颜色

       self.segmentedcontrol.tintColor = [UIColor blueColor];

       //通过Attribute字符串属性字典设置Segment标签属性(正常状态下)

        [self.segmentedcontrol setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:15.0],NSForegroundColorAttributeName:[UIColor purpleColor]}forState:UIControlStateNormal];

       //通过Attribute字符串属性字典设置Segment标签属性(选中状态下)

         [self.segmentedcontrol setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:15.0],NSForegroundColorAttributeName:[UIColor redColor]}forState:UIControlStateSelected];

       //3、添加事件

       [self.segmentedcontrol addTarget:selfaction:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];

       //4、添加视图

       [self.view addSubview:self.segmentedcontrol];

    //5、事件点击方法

    - (void)segmentAction:(UISegmentedControl *)click{

       //UISegmentedControl的段数

        NSInteger totelindext =self.segmentedcontrol.numberOfSegments;

       //当前选中Segment

        NSInteger selectindext =self.segmentedcontrol.selectedSegmentIndex;

        NSLog(@"共分:%ld段,当前选中:%ld段",totelindext,selectindext);

       //指定索引点插入新标题

        [self.segmentedcontrol insertSegmentWithTitle:@"德国"atIndex:selectindext animated:YES];

       //指定索引点插入新图片

        [self.segmentedcontrol insertSegmentWithImage:[UIImage imageNamed:@"flag"] atIndex:selectindext animated:YES];

       //移除指定Segment

        [self.segmentedcontrol removeSegmentAtIndex:selectindext+1animated:YES];

       //移除全部Segment

        [self.segmentedcontrol removeAllSegments];

       //设置指定Segment的标题

        [self.segmentedcontrol setTitle:@"日本"forSegmentAtIndex:0];

       //返回指定Segment的标题

        NSString *segmentTitle = [self.segmentedcontrol titleForSegmentAtIndex:0];

        NSLog(@"索引为:0的标题设置为:%@",segmentTitle);

       //设置指定Segment的image

        [self.segmentedcontrol setImage:[UIImage imageNamed:@"flag"] forSegmentAtIndex:0];

       //返回指定Segment的image

        UIImage *segmentImage = [self.segmentedcontrol imageForSegmentAtIndex:0];

         NSLog(@"索引为:0的图片设置为:%@",segmentImage);

       //设置指定Segment的宽度默认(0,0)自适应

        [self.segmentedcontrol setWidth:100forSegmentAtIndex:0];

       //返回指定Segment的宽度

        CGFloat segmentW = [self.segmentedcontrol widthForSegmentAtIndex:0];

        NSLog(@"索引为:0的Segment宽度设置为:%.2f",segmentW);

       //设置指定Segment的偏移量

        [self.segmentedcontrol setContentOffset:CGSizeMake(5.0,2.0) forSegmentAtIndex:0];

       //获取指定Segment的偏移量

        CGSize segmentSize = [self.segmentedcontrol contentOffsetForSegmentAtIndex:0];

         NSLog(@"索引为:0的Segment偏移量设置为:%@", NSStringFromCGSize(segmentSize));

       //设置指定Segment是否有效

        [self.segmentedcontrol setEnabled:YESforSegmentAtIndex:0];

       //返回指定Segment是否有效

       BOOLsegmentBool = [self.segmentedcontrol isEnabledForSegmentAtIndex:0];

        NSLog(@"索引为:0的Segment当前是否可以点击:%@",segmentBool ?@"可以":@"不可以");

    }

    step—3:UISlider

     //1、声明对象

    @property(nonatomic,strong)UISlider*slider;

    //2、创建

     self.slider= [[UISlideralloc]init];

       //3、设置属性

       self.slider.backgroundColor= [UIColorgrayColor];

       self.slider.alpha=0.8;

       self.slider.frame=CGRectMake((self.view.frame.size.width-200)/2.0,self.view.frame.size.height/2.0,200,31);

       //设置最小值

       self.slider.minimumValue=0.0f;

       //设置最大值

       self.slider.maximumValue=1.0f;

       //设置当前值

       self.slider.value=0.7f;

       //设置滑过部分颜色

       self.slider.minimumTrackTintColor= [UIColorblueColor];

       //设置未滑过部分颜色

       self.slider.maximumTrackTintColor= [UIColorwhiteColor];

       //设置thumb颜色

       self.slider.thumbTintColor= [UIColorgreenColor];

       //设置minimumValueImage

         [self.slidersetMinimumValueImage:[UIImageimageNamed:@"min"]];

       //设置maximumValueImage

         [self.slidersetMaximumValueImage:[UIImageimageNamed:@"max"]];

       //前用于渲染滑块的最大轨迹图像

       //[self.slider setMaximumTrackImage:[UIImage imageNamed:@"MaximumTrack"] forState:UIControlStateNormal];

       //当前用于渲染滑块的最小轨迹图像

       //[self.slider setMinimumTrackImage:[UIImage imageNamed:@"MinimumTrack"] forState:UIControlStateNormal];

       //设置ThumbImage

       //[self.slider setThumbImage:[UIImage imageNamed:@""] forState:UIControlStateSelected];

       //滑块值更改是否生成连续的更新事件

       self.slider.continuous=YES;

        //3、添加事件

        [self.slideraddTarget:selfaction:@selector(sliderAction:)forControlEvents:UIControlEventValueChanged];

        //4、添加视图

        [self.viewaddSubview:self.slider];

    //5、事件点击方法

    - (void)sliderAction:(UISlider*)slider{

       CGFloatvalue =self.slider.value;

       NSLog(@"value %f",value);

    }

    相关文章

      网友评论

          本文标题:第四章:第四节 UISwitch、UISegmentContro

          本文链接:https://www.haomeiwen.com/subject/lkfggftx.html