我正在寻找使用蓝牙将UISlider的移动值从一台设备发送到另一台设备的示例代码。我能够将文本和图像从一个设备发送到另一个设备。但现在,我想发送滑块值。如果我移动滑块比相同位置也移动到另一个设备..
答案 0 :(得分: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];