-4

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

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

4

1 回答 1

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 并很快提供链接。这样您就可以下载源代码并自己查看。干杯!

于 2012-12-06T14:27:23.633 回答