Increment UISlider by 1 in range 1 to 100

前端 未结 7 1185
既然无缘
既然无缘 2020-12-03 18:19

I am new to iPhone,

How do I have my UISlider go from 1 to 100 in increments of 1?

    slider = [[UISlider alloc] init];
    [slider add         


        
7条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-03 18:47

    Here is simple Example of UISlider

    headereFile.h

    #import 
    
    @interface ViewController : UIViewController
    {
        IBOutlet UISlider *slider;
        IBOutlet UILabel *lbl;
        IBOutlet UITextField *txtField;
        IBOutlet UIButton *btn;
        IBOutlet UISwitch *swich;
        IBOutlet UIScrollView *scView;
    
    
    }
    
    @property(nonatomic,retain)UISlider *slider;
    @property(nonatomic,retain)UILabel *lbl;
    @property(nonatomic,retain)UITextField *txtField;
    @property(nonatomic,retain)UIButton *btn;
    @property(nonatomic,retain)UIScrollView *scView;
    @property(nonatomic,retain)UISwitch *swich;
    
    -(IBAction)sliderChanged:(UISlider *)slider;
    -(IBAction)ButtonPressed:(id)sender;
    -(IBAction)showTextField:(id)sender;
    
    @end
    

    implementFile.m

    #import "ViewController.h"
    
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    @synthesize  slider,lbl,txtField,btn,scView,swich;
    
    - (void)viewDidLoad
    {
        self.view.backgroundColor=[UIColor groupTableViewBackgroundColor];
    
        self.scView=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0,320,460)];
        self.scView.delegate=self;
        self.scView.contentSize=CGSizeMake(320,465);
         [self.view addSubview:self.scView];
    
        self.slider=[[UISlider alloc] initWithFrame:CGRectMake(50,270,220,30)];
        self.slider.minimumValue=0.00;
        self.slider.maximumValue=100.00;
        self.slider.thumbTintColor=[UIColor redColor];
        [self.slider addTarget:self action:@selector(sliderChanged:) forControlEvents:UIControlEventValueChanged];
        [self.scView addSubview:self.slider];
    
        self.lbl=[[UILabel alloc] initWithFrame:CGRectMake(135, 290,200,30)];
        self.lbl.backgroundColor=[UIColor clearColor];
        NSString *str=[NSString stringWithFormat:@"%.f",[self.slider value]];
        self.lbl.text=str;
        [self.scView addSubview:self.lbl];
    
        self.txtField=[[UITextField alloc] initWithFrame:CGRectMake(50, 220,150,30)];
        self.txtField.borderStyle=UITextBorderStyleRoundedRect;
        self.txtField.delegate=self;
        self.txtField.returnKeyType=UIReturnKeyDone;
        self.txtField.placeholder=@"Enter 1 to 100";
        [self.scView addSubview:self.txtField];
    
          self.btn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
          self.btn.frame=CGRectMake(205, 215,64, 37);
         [self.btn setTitle:@"Change" forState:UIControlStateNormal];
        [self.btn addTarget:self action:@selector(ButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
         [self.scView addSubview:self.btn];
    
        self.swich=[[UISwitch alloc] initWithFrame:CGRectMake(124,140, 75,40)];
        [self.swich addTarget:self action:@selector(showTextField:) forControlEvents:UIControlEventValueChanged];
        self.swich.on=YES;
        /*
        ((UILabel *)[[[[[[self.swich subviews] lastObject] subviews] objectAtIndex:2] subviews] objectAtIndex:0]).text = @"Foo";
        ((UILabel *)[[[[[[self.swich subviews] lastObject] subviews] objectAtIndex:2] subviews] objectAtIndex:1]).text = @"Bar";
        */
        [self.scView addSubview:self.swich];
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
    }
    
    
    -(IBAction)showTextField:(id)sender
    {
        if (self.swich.on)
        {
            [self.swich setOn:YES animated:YES];
            self.txtField.hidden=NO;
            self.btn.hidden=NO;
        }
        else 
        {
            [self.swich setOn:NO animated:YES];
            self.txtField.hidden=YES;
            self.btn.hidden=YES;
        }
    }
    
    - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
    {
        self.scView.frame=CGRectMake(0, 0,320,230);
        return  YES;
    }
    
    - (BOOL)textFieldShouldEndEditing:(UITextField *)textField
    {
        [self.txtField resignFirstResponder];
    
        self.scView.frame=CGRectMake(0, 0,320,460);
        return YES;
    }
    
    
    -(IBAction)sliderChanged:(UISlider *)slider;
    {
    
        NSString *str=[NSString stringWithFormat:@"%.f",[self.slider value]];
        self.lbl.text=str;
    }
    
    -(IBAction)ButtonPressed:(id)sender
    {
        NSString *values=[self.txtField text];
        float Values=[values floatValue];
    
        if (Values<=100)
        {
            self.slider.value=Values;
            self.lbl.text=values;
        }
        else 
        {
            UIAlertView *connectFailMessage = [[UIAlertView alloc] initWithTitle:@"NSURLConnection " message:@"Plz...Entre Proper Value !!!"  delegate: self cancelButtonTitle:@"Ok" otherButtonTitles: nil];
            [connectFailMessage show];
        }
    
    }
    
    
    - (void)viewDidUnload
    {
        [super viewDidUnload];
        // Release any retained subviews of the main view.
    }
    
    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
        return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
    }
    
    @end
    

提交回复
热议问题