2

UIsliderを使用してUIImageを画面上で左右に移動しています。UISliderが完全に左側にある場合、画像は画面左側のX atisの特定の位置にあり、スライダーが完全に右側にある場合、画像は画面の右側にあります。たとえば、画像に600ピクセルの柔軟性のある動きを与えたい場合、どうすればよいですか?

-(IBAction)sliderValueChanged:(UISlider *)sender
{

if (sender.value >= 0.5) {

int value;
value = sender.value * 6;

[photoView setFrame:CGRectMake(photoView.frame.origin.x + value,
                                PhotoView.frame.origin.y,photoView.frame.size.width,photoView.frame.size.height)];
}else{

int value;
value = sender.value * -6;

[photoView setFrame:CGRectMake(photoView.frame.origin.x + value,
                               photoView.frame.origin.y,photoView.frame.size.width,photoView.frame.size.height)];

}

...これは私の推測でした

4

2 に答える 2

2

私は最近、iPad/iPhoneが計器ゲージとして機能する実物大の航空機で使用するためにあなたがやろうとしているのと同じことをしなければなりませんでした。

航空機の計器の読み取り用に画像を移動するために使用したコードは次のとおりです。また、ピクセルポイント全体を処理しているため、float値をintに丸める必要があります。(画像はfloat値でも正常に移動しますが、ピクセルポイントを処理するときにintを使用するのが好きです。)

#import "ViewController.h"
#import <math.h>

@interface ViewController()

@property (nonatomic, strong) IBOutlet UIImageView *XAxis;
@property (nonatomic, strong) IBOutlet UISlider *XSlider;

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.XSlider.minimumValue = 0.0f;
    self.XSlider.maximumValue = 600.0f;
}

- (IBAction)XValueChanged:(UISlider *)XSlider;
{
    int XResult = (int)floorf(XSlider.value);

    self.XAxis.center = CGPointMake(self.XAxis.center.x, XResult);

    NSLog(@"X Value: %d", XResult);
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

@end
于 2012-12-01T23:30:52.933 に答える
1

このようなものはどうですか、

slider.minimumValue = 0.0f;
slider.maximumValue = 600.0f;

-(IBAction)sliderValueChanged:(UISlider *)sender
{
  [photoView setFrame:CGRectMake(sender.value, PhotoView.frame.origin.y,photoView.frame.size.width,photoView.frame.size.height)];
}

これを行うには、photoViewを設定する場所に基づいて固定番号をどこに変更photoView.frame.origin.x + valueするかを指定します。また、スライダーを動かすたびに移動する必要がある量に応じて、値を計算します。floatValue + valuefloatValuevalue = sender.value * constantconstant

プロパティの詳細については、ドキュメントを確認してください

于 2012-12-01T23:13:40.080 に答える