UIKeyboardTypeDecimalPad локализация

Забелязах, че UIKeyboardTypeDecimalPad беше добавен в iOS 4.1 и започнах да го използвам. По време на моето тестване превключих както езика, така и региона на френски в международния раздел на настройките. Очаквах десетичният клавиш на клавиатурата в приложението ми да се промени от "." до „,“ но не го направи.

Всичко, което правя е това:

_textFieldUnitCost.keyboardType = UIKeyboardTypeDecimalPad;

Някакви идеи?


person Kris Bixler    schedule 03.10.2010    source източник
comment
Същият проблем при мен на немски. Надявах се да заменя UIKeyboardTypeNumbersAndPunctuation с новия DecimalPad, но без да се вземе предвид регионалния формат, не е възможно.   -  person Gerd    schedule 11.10.2010


Отговори (2)


От 4.2.1 десетичният клавиш на клавиатурата вече се променя от "." на "," при превключване към език/регион, който използва ","

person Kris Bixler    schedule 18.02.2011

Един от начините да го заобиколите е просто да приемете пунктуацията, защото това е десетичен знак и след това да го промените, когато го подадете като низ за показване.

NSString *firstString = @"102.08", *finalString;

finalString = [[firstString stringByReplacingOccurancesOfString:@"." withString:@","];
//string value returns 102,08

Това ще работи, ако просто трябва да покажете. Няма да работи, ако правите математика с този низ. Всъщност не можете. Сега можете да го съхраните като float и след това, когато конвертирате в низ, правите тези 2 реда код

person Farini    schedule 13.11.2011