ipad - slider 值 iOS

标签 ipad ios ios4 uislider

我正在尝试将 slider 的值作为套接字通信中的字符串发送到仪器。目前,我能够在 slider 更新标签上找到的唯一资源,但 slider 的值未在其他地方使用。理想情况下,我想在我的 View Controller 中使用以下代码,并将发送频率命令中的值(例如 1000)替换为 sider 的值,而不是将 1000 硬编码到方法调用中:

-(IBAction)Sine {

    //[myNetwork sendCommand:@"*CLS\n"];
    //[myNetwork sendCommand:@"*RST\n"];
    [myNetwork sendCommand:@"SOURCE1:FUNCTION SIN\n"];
    [myNetwork sendCommand:@"SOURCE1:FREQUENCY 1000\n"];
    [myNetwork sendCommand:@"SOURCE1:VOLT:UNIT VPP\n"];
    [myNetwork sendCommand:@"SOURCE1:VOLT 2\n"];
    [myNetwork sendCommand:@"SOURCE1:VOLT:OFFSET 0\n"];
    [myNetwork sendCommand:@"OUTPUT1:LOAD 50\n"];
    [myNetwork sendCommand:@"OUTPUT1 ON\n"];
    [myNetwork sendCommand:@"OUTPUT2 ON\n"];
}

下面是sendCommand()的方法定义:

//sends command to the instrument and reuturns true if successful
-(BOOL)sendCommand:(NSString *)command {

    char *com = [command UTF8String];
    int comLength = strlen(com);

    //send the string to the server
    if (send(sockNum, com, comLength, 0) != comLength) {
        return FALSE;
    }
    return TRUE;
}

这是 .h 文件中的原型(prototype):

- (BOOL)sendCommand:(NSString *)command; //send command to instr

最佳答案

UISlider 有一个属性 value,它以 float 形式返回当前值。如果您的仪器需要一个整数,您可能需要先转换它。默认情况下,该值在 0 到 1 的范围内,但您可以使用 slider 的 minimumValue 覆盖它。和 maximumValue特性。

在您的 Sine 方法中,只需获取 slider 的值并将其添加到 SOURCE1:FREQUENCY 命令:

int frequency = (int) frequencySlider.value;
[myNetwork sendCommand:[NSString stringWithFormat:@"SOURCE1:FREQUENCY %d\n", frequency]];

关于ipad - slider 值 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4930804/

相关文章:

c++ - Qt Ui 应用程序屏幕方向

ios - 在 iOS 上混合视频流

iphone - iOS 原始视频捕获 - 从哪里开始?

ios - 在应用程序运行时实现后台任务的最佳方法

ios - 将Ipad应用锁定在横向模式

iphone - 增加 UIButton 高亮时的触摸效果半径

ios - iPad MoviePlayer 在设备重启之前拒绝播放视频

ios - 使用 GPU 清除 CVPixelBufferRef

iphone - iOS 和/或 Android 中移动网络的信号强度测量?

iphone - iOS 从文件导入设置到应用