これを処理する最善の方法を理解できないようです。ユーザーが小数点を押すと、次のテキストフィールドに移動します。私が抱えている問題は、次のテキストフィールドに10進数を表示しているだけで、小数点のみを入力すると機能します。なぜ私は文が始まっているのか分からないので、小数点のみを許可する理由を理解していると信じていますが、ここで最善の方法を見つけることはできません。shouldChangeCharactersInRangeロジック
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *decmial = @".";
if ([textField.text isEqualToString:@"."])
{
if (octet1.text == decmial) {
octet1.text = [octet1.text stringByReplacingOccurrencesOfString:decmial withString:@""];
[octet1 isFirstResponder];
[octet2 becomeFirstResponder];
}
else if (octet2.text == decmial) {
octet2.text = [octet2.text stringByReplacingOccurrencesOfString:decmial withString:@""];
[octet2 isFirstResponder];
[octet3 becomeFirstResponder];
}
else if (octet3.text == decmial) {
octet3.text = [octet3.text stringByReplacingOccurrencesOfString:decmial withString:@""];
[octet3 isFirstResponder];
[octet4 becomeFirstResponder];
}
else if (octet4.text == decmial) {
octet4.text = [octet4.text stringByReplacingOccurrencesOfString:decmial withString:@""];
[octet4 isFirstResponder];
[myBitMask becomeFirstResponder];
}
}
return YES;
}
グレートこれは働いていたユーザーが入力したときに、小数点がある場合を除きので、その後数十進数がありますそれを押すと次のテキストフィールドに移動します。テキストフィールドに小数点を置くのを止めるにはどうすればいいですか? – Taken
私はコードを修正しました。それは、OSが(既にあなたがそれをやった)置換をしないようにNOを返す必要があります。 – tarmes
それはそれをしましたが、今は数字以外のものではありません。 – Taken