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中添加一个点以进行浮动。这与您的问题无关。如果需要浮点值而不仅仅是整数,可以添加它。