1 首先我们还是创建一个Single View Application,然后打开MainStoryboard_iphone.storyboard,在IB中添加一个UISlider控件和一个Label,这个Label用来显示Slider的值。
选中新加的Slider控件,打开Attribute Inspector,修改属性值,设置最小值为0,最大值为100,当前值为0.5,并确保勾选上Continuous,如下图:
接着我们放上UISwitch控件,就是很像开关的那种控件,它只有两个状态:on和off,全都放上去效果就是这样的:
2.好了我们开始写代码喽:ViewController.h:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController{
UILabel *sliderlabel;
UISwitch *leftSwitch;
UISwitch *rightSwitch;
}
@property (nonatomic,retain) IBOutlet UILabel *sliderlabel;
@property (nonatomic,retain) IBOutlet UISwitch *leftSwitch;
@property (nonatomic,retain) IBOutlet UISwitch *rightSwitch;
- (IBAction)sliderChanged:(id)sender;
- (IBAction)switchChanged:(id)sender;
@end
接着是实现 ViewController.m:
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize sliderlabel;
@synthesize leftSwitch;
@synthesize rightSwitch;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
} else {
return YES;
}
}
- (IBAction)sliderChanged:(id)sender{
UISlider *slider=(UISlider*)sender;
int progressAsInt=(int)(slider.value+0.5f);
NSString *newText=[[NSString alloc] initWithFormat:@"%d",progressAsInt];
sliderlabel.text=newText;
[newText release];
NSLog(@"%d",progressAsInt);
}
- (IBAction)switchChanged:(id)sender{
UISwitch *whichSwich=(UISwitch *)sender;
BOOL setting=whichSwich.isOn;
[leftSwitch setOn:setting animated:YES];
[rightSwitch setOn:setting animated:YES];
}
- (void)dealloc{
[sliderlabel release];
[leftSwitch release];
[rightSwitch release];
[super dealloc];
}
@end
3.剩下的就是连接操作和输出口:
将slider控件的value changed事件与sliderChanged方法连接在一起,将swich控件的value changed事件与swichChanged方法连接在一起,当然还要把lable控件和swich控件的输出与ViewController的相应控件接口连接在一起。
最终实现的效果如下面两张图:
分享到:
相关推荐
http://blog.csdn.net/duxinfeng2010/article/category/1155790 有详细介绍
11.UI基础之UISlider&UISwitchoverride func viewDidLoad() {// 左边的图标// 右边的图标// 设置滑块图标/
IOS应用源码——UIslider转圆圈.zip
IOS应用源码——UIslider转圆圈.rar
swift学习控件篇:UITextField+UISwitch+UISlider+UIimageView
ios的UISlider自定义,用图片自定义添加
G8SliderStep, Swift 可以拖动,Tappable,可以检查性,适用于iOS的自定义范围 UISlider, 使用 Swift - Draggable,Tappable编写的用于iOS的自定义范围 UISlider ( written )工作原理 示例 插件功能:准备使用轻松...
UISlider Demo IOS 控件 代码
自定义UISlider, 翻页时显示页数, 翻页进度, 点击slider滑块快速翻页
iOS学习笔记 十年生死两茫茫,不思量,自难忘,华年短暂,陈辞岁月悠悠伤, 满腔热血已芜荒,展未来,后生强,战战兢兢,如履薄冰心彷徨, 青丝化雪、鬓角成霜,已是英雄迟暮,人生怎慷慨激昂? 目录 内存管理(五) ...
包含常用的控件的使用UILabel、UIButton、UIsegmentedControl、UITextField、UISlider、UISwitch、UIActivityIndicatorView、UIProgressView、UIStepper、UIImageView、UIAlertView、UIActionSheep、UIDatePicker、...
PC上的滑块是很丑陋的,因为我们只能通过鼠标去拖动他。不过当Jobs把它移植到IOS上时一切变得酷起来,因为我们...我们可以通过代码创建,如同开关(UISwitch)的宽与高都会被忽略一样滑块的高也会被忽略(但是宽度不会):
KnobControl:类似于UISlider的旋钮控件,但呈圆形
前两年IOS应用源码-主要是用于毕业设计学习的。
一个实用的自定义双按钮UISlider实例: 1、可根据用户需要设定最大值和最小值; 2、可以实时获取左侧按钮和右侧按钮分别对应的值; 3、滑动灵活精准,数值变化实时准确; 4、完全开源,开以者可以根据自己需要做相应...
各种IOS UI小控件使用基本方法 适合基础学习
iphone中的基础控件UISlider,适合初学者,主要学习UISlider的常用属性设置、点击事件、以及替换滑块图片等
UI 常用控件部分: UISwitch//开关 UISlider//滑块 UIStepper //步进器 UIActivityIndicatorView //活动指示器 UIAlertView //警告(弹出窗) UIActionSheet //行为切片 UISegmentedControl //分段控制器 ...