Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 文本字段更改后如何移动滑块?_Ios_Xcode_Slider_Textfield - Fatal编程技术网

Ios 文本字段更改后如何移动滑块?

Ios 文本字段更改后如何移动滑块?,ios,xcode,slider,textfield,Ios,Xcode,Slider,Textfield,现在,当我移动滑块时,文本字段的值正在改变。我需要向后工作,磨刀改变文本字段值,滑块移动 我的代码: - (void)sliderChanged:(UISlider *)sender { self.slider.valueChangedHandler = ^(id sender) { self.aleField.text = [NSString stringWithFormat:@"%.f", [(UISlider *)sender value]]; }; } 编辑 - (

现在,当我移动滑块时,文本字段的值正在改变。我需要向后工作,磨刀改变文本字段值,滑块移动

我的代码:

- (void)sliderChanged:(UISlider *)sender {

    self.slider.valueChangedHandler = ^(id sender) {
    self.aleField.text = [NSString stringWithFormat:@"%.f", [(UISlider *)sender value]];
};

}
编辑

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
   slider.value = [aleField.text floatValue];

    NSUInteger newLength = [aleField.text length] + [string length] - range.length;
    return (newLength > 2) ? NO : YES;

}

创建文本字段后,添加:

[self.textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
然后采用以下方法:

- (void)textFieldDidChange:(UITextField*)sender {
    //Assuming slider is a property
    slider.value = [sender.text floatValue];
}

我引用了和。

创建文本字段后,添加:

[self.textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
然后采用以下方法:

- (void)textFieldDidChange:(UITextField*)sender {
    //Assuming slider is a property
    slider.value = [sender.text floatValue];
}

我引用和。

要在键入时执行此操作,请实现文本字段委托

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    NSCharacterSet *numberSet = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789"] invertedSet];
    NSString *filtered = [[string componentsSeparatedByCharactersInSet:numberSet] componentsJoinedByString:@""];
    BOOL basicTest = [string isEqualToString:filtered];
    if (basicTest) {
        slider.value = [aleField.text floatValue];
    }
    return basicTest;
}
这还允许用户只插入数字

要将值反映到滑块,请执行以下操作:

slider.value = [textField.text floatValue];

要在键入时执行此操作,请实现文本字段委托

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    NSCharacterSet *numberSet = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789"] invertedSet];
    NSString *filtered = [[string componentsSeparatedByCharactersInSet:numberSet] componentsJoinedByString:@""];
    BOOL basicTest = [string isEqualToString:filtered];
    if (basicTest) {
        slider.value = [aleField.text floatValue];
    }
    return basicTest;
}
这还允许用户只插入数字

要将值反映到滑块,请执行以下操作:

slider.value = [textField.text floatValue];

当我输入例如数字3时,它会自动将零放在3zero之前,3zero是滑块的最小值。。例如,如果我输入1,它会将1放在我输入的数字之前,没有任何变化。当我举个例子,比如50号。。滑块移动到5。。。当我把99。。滑块移动到9。。。但是如果我输入999。。。然后滑块移动到99。您可以在NSCharacterSet中添加一个点以进行浮动。这与您的问题无关。如果需要浮点值而不仅仅是整数,可以添加它。当我输入例如数字3时,它会自动将零放在3zero之前,3zero是滑块的最小值。。例如,如果我输入1,它会将1放在我输入的数字之前,没有任何变化。当我举个例子,比如50号。。滑块移动到5。。。当我把99。。滑块移动到9。。。但是如果我输入999。。。然后滑块移动到99。您可以在NSCharacterSet中添加一个点以进行浮动。这与您的问题无关。如果需要浮点值而不仅仅是整数,可以添加它。