我有两个UISliders,它们的值范围都是1到8。 当应用程序启动时,slider1的值为1,slider2的值为8.当slider1移动到值2时,我希望slider2自动移动到值7。因此,当一个滑块值上升时,另一个滑块值会降低。
如何将这些滑块链接在一起?
答案 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并很快提供链接。这样你可以下载源代码并亲自看看。干杯!