하나의 옵션은 UITextField
위에 투명한 배경으로 UILabel
을 오버레이하는 것입니다. UITextField
의 delegate
로 등록하고 구현 :
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
그런 때마다,이 방법을 사용하면 새 값을 정수로 변환하고 NSNumberFormatter를 통해 통과 할 수 있도록 호출 될 사용자 유형 이 형식의 값을 표시하도록 UILabel을 업데이트하십시오.
static NSNumberFormatter *formatter;
- (BOOL)textField:(UITextField *)aTextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *textFieldValue = [aTextField.text stringByAppendingString:string];
if (range.length > 0)
textFieldValue = [aTextField.text substringToIndex:range.location];
if ([textFieldValue isEqualToString:@""])
self.formattedLabel.text = textFieldValue;
else
{
NSDecimalNumber *newValue = [[NSDecimalNumber alloc] initWithString:textFieldValue];
if (!formatter) formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;
self.formattedLabel.text = [formatter stringFromNumber:newValue];
}
return YES;
}
죄송합니다. 알려 줘서 고마워. 나는 전체 포인트 시스템이 어떻게 작동했는지 확신 할 수 없었다. 팁을 주신 덕분에 – serge2487