Вы можете использовать хак для него. Вы можете использовать предопределенный метод delegate
от UITextView
и который равен textViewDidChange
Таким образом, поддерживайте один флаг, который сохранит состояние, хотите ли вы получить защищенную запись или нет. например,
NSString *originalText = @"";
BOOL isSecuredEntryOn = false;
Изменить его true
всякий раз, когда вы хотите добавить обеспеченному текст как BOOL isSecuredEntryOn = true;
Теперь это будет код вашего метода delegate
:
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
originalText = [originalText stringByAppendingString:text];
return YES;
}
- (void)textViewDidChange:(UITextView *)textView {
NSString *enteredText = textView.text;
textView.text = (isSecuredEntryOn) ? [enteredText stringByReplacingOccurrencesOfString:enteredText withString:[self getSecuredTextFor:enteredText]] : enteredText;
}
-(NSString *)getSecuredTextFor:(NSString *)stringToConvert {
NSString *securedString = @"";
for (int i = 0; i < stringToConvert.length; i++) {
securedString = [securedString stringByAppendingString:@"*"];
}
return securedString;
}
Вы можете использовать что-нибудь вместо * для защищенного текста.
Прочитайте мой вопрос – Ganesh
Я создаю чат приложения. Я хочу, чтобы он имел несколько вариантов линии (как в whatsapp). В некоторых случаях мне также может понадобиться опция принудительного ввода текста. – Ganesh
, то используйте 'UITextView' и всякий раз, когда пользователь запускает защищенный текст, тогда отобразите' * 'в пользовательском интерфейсе вместо исходного символа, а в бэкэнд сохраните каждого персонажа правильно, это единственный подход, который я считаю возможным. –