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的相应控件接口连接在一起。
最终实现的效果如下面两张图: