2つのUISliderがあり、どちらも値の範囲は1〜8です。アプリを起動すると、slider1は値1になり、slider2は値8になります。slider1を値2に移動すると、slider2を値7に自動的に移動します。したがって、一方のスライダー値が上がると、もう一方のスライダー値が下がります。
これらのスライダーをリンクするにはどうすればよいですか?
上手。私は自分の小さなアプリを作成し、その機能を簡単に実装しました。方法は次のとおりです。あなたがする必要があるのは、あなたのスライダーのそれぞれにアクションを接続することです。そのアクションは、値が変更されるたびに呼び出されます。各アクションの内部。このようなことをしてください。.mで
@synthesize slider1;
@synthesize slider2;
...
- (IBAction)slider2DidChange:(id)sender {
NSLog(@"Value did change");
int value = [slider2 value];
NSLog(@"%d", value);
int newValue = 8 - value;
[slider1 setValue:newValue animated:YES];
}
- (IBAction)slider1DidChange:(id)sender {
NSLog(@"Value did change");
int value = [slider1 value];
NSLog(@"%d", value);
int newValue = 8 - value;
[slider2 setValue:newValue animated:YES];
}
もちろん、それには4つの接続が必要です。
@property (assign) IBOutlet UISlider *slider1; //Connect to slider1
@property (assign) IBOutlet UISlider *slider2; //Connect to slider2
- (IBAction)slider2DidChange:(id)sender; //Connect action to slider2
- (IBAction)slider1DidChange:(id)sender; //Connect action to slider1
それでおしまい。私の小さなアプリをInfiniteOpenSyntaxに投稿し、まもなくリンクを提供します。そうすれば、ソースをダウンロードして自分で確認することができます。乾杯!