كيف يمكنني عرض حرف كلمة المرور البديل في UILabel؟

StackOverflow https://stackoverflow.com/questions/83687

  •  01-07-2019
  •  | 
  •  

سؤال

لدي حاجة لعرض أ UITableView تحتوي على بيانات اعتماد حساب المستخدم.لهذا أنا أستخدم UILabels في UITableViewCell.عندما أعرض كلمة المرور الخاصة بهم، من الواضح أنني أرغب في عرض حرف كلمة مرور العنصر النائب بدلاً من كلمة المرور الفعلية، على غرار UITextField عندما يتم ضبطه على وضع إدخال النص الآمن.في الواقع، أود استخدام نفس الشخصية مثل UITextField الاستخدامات، بدلاً من "*".

سؤالي هو ما هو رمز الحرف الخاص بكلمة المرور UITextField عندما يكون في الوضع الآمن؟

هل كانت مفيدة؟

المحلول

لماذا لا تستخدم فقط UITextField، وتجعل الحقل غير قابل للتحرير وتغيير نمط الحدود لجعله يبدو مثل UILabel؟

نصائح أخرى

إليك طريقة للقيام بذلك، على سبيل المثال، لعرض كلمة المرور "المنقطة" في DetailTextLabel لخلية النموذج الأولي:

// self.password is your password string
NSMutableString *dottedPassword = [NSMutableString new];

for (int i = 0; i < [self.password length]; i++)
{
    [dottedPassword appendString:@"●"]; // BLACK CIRCLE Unicode: U+25CF, UTF-8: E2 97 8F
}

cell.detailTextLabel.text = dottedPassword;

من المحتمل أن يكون حرف كلمة المرور رمزًا نقطيًا.على نظام Mac، سيقوم الخيار 8 بإدراج واحد أينما تكتب.تقول لوحة الأحرف إنها Unicode 2022 وUTF8 إي2 80 أ2.

على الرغم من أن السؤال قديم جدًا، إلا أنني واجهت نفس المشكلة.لدى benzado الفكرة الصحيحة، على الرغم من أنني أعتقد أن Unicode يجب أن يكون كذلك 25cf.بالنسبة لي، يبدو أن هذا هو بالضبط ما تستخدمه تفاحة النقاط في UITextField الآمن.

في نظام التشغيل iOS 10، لم يعد حرف BLACK CIRCLE Unicode متوافقًا مع حقل النص الآمن بعد الآن.الحرف المطلوب استخدامه هو ⦁ "Z NOTATION SPOT" (U+2981).

في Swift 3 يمكنك استخدام:

passwordLabel.text = String(password.characters.map { _ in return "•" })
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top