UIControl及其它的子类--seg,slider,switch,stepper

The most difficult thing is the decision to act. The rest is merely tenacity.
--最困难的是下决定,剩下的就要坚持了。(Amelia Earhart)

小王第一次认真的完成知识点的整理,希望可以坚持。 FIGHTING!!!!

UISegmentedControl的使用


简述

1.iOS中的分段控件
2.每个segment都能被点击,相当于集成了若干个button
3.通常我们会点击不同的segment来切换不同的View


常用方法和属性

//自有的初始化方法--可以添加多个分段
//items为各个分段的标题(NSArray类型)
UISegmentedControl *segmentControl = [[UISegmentedControl alloc] initWithItems:@[@"Zero",@"One",@"Two"]];

//设置默认被选中的分段(从左向右,从0开始计数,默认为从0开始)
segmentControl.selectedSegmentIndex = 0;

//给每个分段设置图片,颜色,三种模式

    segmentControl.tintColor = [UIColor greenColor];//让分段控制器改为绿色

     UIImageRenderingModeAutomatic,       默认方式:根据当前视图颜色渲染的上下文来自动选择是否要渲染当前图片,目前会渲染视图的大多数是(tintcolor)// Use the default rendering mode for the context where the image is used
     
     UIImageRenderingModeAlwaysOriginal,   图片保持自己当前的色彩,不被当前视图颜色渲染  // Always draw the original image, without treating it as a template
     
     UIImageRenderingModeAlwaysTemplate,    图片不保持自己当前的色彩,始终被当前视图颜色渲染 // Always draw the image as a template image, ignoring its color information

//为segmented添加方法
[segmentControl addTarget: selfaction:@selector(segAction:) forControlEvents:UIControlEventValueChanged];

执行方法

1,NSInteger index = sender.selectedSegmentIndex;  //首先获取到segmented的index,来确认目前所选的是哪个分段
2,进行判断...一般用switch...case 语句来进行判断

注意事项
由于我们有默认的选中状态,此时并没有任何状态的改变,所以我们需要手动的来触发回调方法

 [self.view addSubview:imageView];  //  手动触发回调方法


UISlider的使用


简述

1.iOS中的滑块控件
2.通常用于控制视频播放进度,控制音量等操作
3.滑块提供了一系列的值,滑动到不同位置,获取到滑块的值也不同


常用属性

minimumValue  //  设置滑块的最小值
maximumValue //  设置滑块的最大值
value  //设置滑块的当前值
minimumTrackTinkColor  //定义划过的区域的颜色
maximumTrackTinkColor  //定义还未划过的区域的颜色
minimumValueImage    //最小值处的图片
maximumValueImage    //最大值处的图片
ThumbImage      //滑块的图片
addTarget: action: forControlEvents: //给UISlider添加事件,controlEvent为UIControlEventValueChanged。

用法

slider 和 SegmentedControl 的用法基本相似
不同点为

SegmentedControl 实现方法时要用到它的index来确定分段
slider 实现方法时要得到它的实时value来进行方法实现


Switch的使用

简述

1.switch 是开关的意思,一般手机上面的蓝牙,WiFi等开关都是switch控件
2.只有开闭两种状态
3.几乎和button的用法一样

属性

onTintColor   //  设置开关on状态的颜色
tintColor  //设置开关的色彩,整体色调
thumbColor   //设置开关小圆钮的颜色

用法

**switch为系统占用字,所以创建对象时不可以用switch做对象名**
switch1 .on = YES;  //  设置switch的状态为on
switch1.isOn  //  用来根据状态判断执行的事件

Stepper的使用

简述

1.UIStepper是iOS5之后新增的控件,数字输入控件
2.UIStepper是一个和UISwitch 很相似的一个控件,不同点是它的左右为“+”和“-”
3.递进式输入

属性

minimumValue   //Stepper的最小值
maximumValue   、、//Stepper的最大值
stepValue  //Stepper每次操作减少或增加的数值

注意:上述值的类型均为,double*

简单举例

通过UISlider实现调色设置

- (void)sliderAction: (UISlider *)sender{
    //根据tag值得到三个滑竿,分别来控制红,绿,蓝,
    UISlider *redSlider = (UISlider *)[self.view viewWithTag:1100];
    UISlider *greenSlider = (UISlider *)[self.view viewWithTag:1101];
    UISlider *blueSlider = (UISlider *)[self.view viewWithTag:1102];
    self.view.backgroundColor = [UIColor colorWithRed:redSlider.value/255.0 green:greenSlider.value/255.0 blue:blueSlider.value/255.0 alpha:1.0];
}

通过三个slider改变RGB实现调整背景色(忽略丑爆的UI)

通过UIStepper实现简单计数

//定义一个Stepper
    UIStepper *step = [[UIStepper alloc] initWithFrame:CGRectMake(150, 550, 100, 50)];
    step.minimumValue = 1.0;
    step.maximumValue = 20.0;
    step.stepValue = 2.0;
    [step addTarget:self action:@selector(stepper:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:step];
    //定义一个label来显示Stepper操作后的数值变化
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(150, 500, 100, 40)];
    label.tag = 1500;
    label.text = @"计数:";
    [self.view addSubview:label];
//回调方法
- (void)stepper: (UIStepper *)sender{
    UILabel *label = (UILabel *)[self.view viewWithTag:1500];
    NSString *str = [ NSString stringWithFormat:@"计数:%f",[sender value]];
    label.text = str;
}

通过Stepper操作的简单计数显示

哇!终于整完了,手速确实很慢,大家静候下一期吧!!!
Good night!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容