我有两个 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];
}
当然,这也要求您有四个连接。
@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 并很快提供链接。这样您就可以下载源代码并自己查看。干杯!