intento establecer un valor para un control deslizante después de que haga clic en un botón,
pero no funciona – el regulador no se mueve. el código se ejecuta correctamente, sin errores.
Debe ser bastante simple, pero no puedo averiguar.
Versión de xCode 4.5.2
Gracias!
aquí mi código:
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *debugLabel;
@property (weak, nonatomic) IBOutlet UISlider *slider;
- (IBAction)slider:(id)sender;
- (IBAction)ButtonChangeValue:(id)sender;
@end
ViewController.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize slider;
...
- (IBAction)slider:(UISlider *)sender {
float value = [sender value];
self.debugLabel.text = [NSString stringWithFormat:@"Value: %f",value];
}
- (IBAction)ButtonChangeValue:(id)sender {
slider.value = 90;
}
- Pruebe a establecer
minimumValue
ymaximumValue
a los valores correctos de primera
Creo que tu problema es que el regulador acepta valores entre 0.0 y 1.0 (valores por defecto, cambiar con
_slider.maximumValue
y_slider.minimumValue
). Trate de establecer el valor a 0,9 en lugar de establecer los 90 (si te refieres a 90%).Si el control deslizante de actualizaciones, pero no es animado, uso :
Tenga en cuenta que dado su código, usted puede necesitar usar
self.slider
en lugar de_slider
.trate de usar
lugar de
Comprobar Mi Respuesta
Utilizar
slider.value = 90;
Su ViewController.h debe ser:
Y no olvides
@synthesize slider;
en su ViewController.m así.De lo contrario, utilice
self.slider.value = 90;
o_slider.value = 90;
Para Swift, se puede utilizar:
Puesto que usted está utilizando el interface builder primera cosa a tener en cuenta serían: son los componentes de interfaz de usuario (regulador, botón) conectado a la IBOutlets en propietario del Archivo. Esta es la fuente más común de este tipo de problemas.
A continuación, compruebe el máximo y el mínimo de la barra (el valor predeterminado es 0;1 – como rdurand mencionado).
Y spider1983 es correcto también: desde el control deslizante es una propiedad, usted puede tratar como yo.control deslizante (o _slider, pero usted no debe usar la última, en este caso).
creo . como usted no ha mencionado valor máximo y el mínimo del regulador ,se toma por defecto valores max y min que son de 0 a 1. Por lo que no es posible establecer un valor =90. Primer cambio de su max y min como este :
ahora pruebe su cosa ,