我有UITextfield设置为在初始化时只显示1个字符,但是我使用约束来使字段能够根据需要进行扩展。
我的约束:
@"H:[txtField(<=80)]-14-|
当我通过text属性设置textField时,它会完美调整大小,但是当我尝试通过键盘输入时,我能得到的最好的就是使用 sizeToFit 在shouldChangeCharactersInRange里面......哪种方式有效,但是在iphone上向内移动到美元数量,而是向外移动到屏幕右侧。
如何让它向左移动?
答案 0 :(得分:0)
我最终使用了我在
中的StackOverflow上找到的这一点的 shouldChangeCharactersInRange 强> 的 double currentValue;
NSString *str;
if(![textField.text length]){
str = @"$ 0.00";
}else{
str = textField.text;
}
currentValue = [[str substringFromIndex:1] doubleValue];
double cents = round(currentValue * 100.0f);
if ([string length]) {
for (size_t i = 0; i < [string length]; i++) {
unichar c = [string characterAtIndex:i];
if (isnumber(c)) {
cents *= 10;
cents += c - '0';
}
}
} else {
// back Space
cents = floor(cents / 10);
}
textField.text = [NSString stringWithFormat:@"%.2f", cents / 100.0f];
//Add this line
[textField setText:[NSString stringWithFormat:@"$%@",[textField text]]];
return NO;