如何链接两个滑块?当slider1值上升时,slider2值必须降低。但是怎么样?

时间:2012-12-06 13:43:20

标签: ios xcode uislider

我有两个UISliders,它们的值范围都是1到8。 当应用程序启动时,slider1的值为1,slider2的值为8.当slider1移动到值2时,我希望slider2自动移动到值7。因此,当一个滑块值上升时,另一个滑块值会降低。

如何将这些滑块链接在一起?

1 个答案:

答案 0 :(得分:1)

好。我创建了自己的小应用程序并轻松实现了该功能。这是如何做。您需要做的是将动作连接到每个滑块。每次值更改时都会调用该操作。每个动作里面。做这样的事情。在.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];
}

当然,这也要求你有四个连接。

@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

就是这样。我将把我的小应用程序发布到Infinite Open Syntax并很快提供链接。这样你可以下载源代码并亲自看看。干杯!