2

我正在寻找使用蓝牙将 UISlider 的移动值从一台设备发送到另一台设备的示例代码。我能够将文本和图像从一台设备发送到另一台设备。但现在,我想做发送滑块值。如果我移动滑块比相同的位置也移动另一个设备..

4

1 回答 1

2

您需要有一种方法将滑块的值转换为 NSNumber 或 NSString,然后以相同的方式发送。

所以你会有:

[slider addTarget:self action:@selector(sliderMoved:) forControlEvents:UIControlEventValueChanged];

然后在你的sliderMoved中:

-(void)sliderMoved:(UISlider *)slider {
    NSNumber *number = [NSNumber numberWithInt:(int)slider.value];
    // or
    NSString *string = [NSString stringWithFormat:@"%i",(int)slider.value];
    //Then you would want to send it to the other device.
}

如果您想要滑块的完整浮点值,也不能将它们转换为整数。

在这种情况下,您将改为使用:

[NSNumber numberWithFloat:slider.value];
// or
[NSString stringWithFormat:@"%f",slider.value];

在另一台设备上收到此值后,将其转换回浮点数并设置该设备的滑块值:

float f = [newValue floatValue];
[slider setValue:f animated:YES/NO];
于 2013-03-20T05:59:42.947 回答