テスト用の UILabel から始めて (何か書き込んでください)、UISlider と同様に IBOulets を追加します。次に、スライダーの「値が変更されました」の IBAction を追加します。
次に、ラベルを配置する場所を特定するために、2 つの値を計算する必要があります。左からの調整と、スライダーの値ごとのピクセルです。次の@interface
ようになります。
@interface sliderViewController : UIViewController {
IBOutlet UISlider *slider;
IBOutlet UILabel *label;
float pixelsPerValue;
float leftAdjust;
}
-(IBAction) sliderValueChanged:(id)sender;
@end
たとえば、viewDidLoad: では、View Controller に対して、2 つのフロートの計算を行います。
- (void)viewDidLoad {
float width = slider.frame.size.width;
pixelsPerValue = width / (slider.maximumValue - slider.minimumValue);
leftAdjust = slider.frame.origin.x;
[super viewDidLoad];
}
最後に、IBAction は次のようになります。
-(IBAction) sliderValueChanged:(id)sender
{
NSLog(@"changed");
CGRect frame = label.frame;
frame.origin.x = leftAdjust + (pixelsPerValue * slider.value);
label.frame = frame;
}
それが役立つことを願っています。