วิธีบรรลุ UITextField สไตล์นี้

ฉันมี UITextField เพื่อให้ผู้ใช้พิมพ์ตัวเลข 4 ตัวที่ถูกส่งกลับมาจากข้อความ ฉันได้ตั้งค่ารูปแบบและภาพพื้นหลังของ UITextField อย่างถูกต้องแล้ว แต่ไม่รู้ว่าจะจัดเรียงตัวเลขทั้งสี่นี้ให้สวยงามได้อย่างไร สิ่งที่ฉันต้องการคือ: ป้อนคำอธิบายรูปภาพที่นี่

แต่ผลลัพธ์ก็คือ:

ป้อนคำอธิบายรูปภาพที่นี่

นี่คือการตั้งค่าของฉันสำหรับ UITextField ป้อนคำอธิบายรูปภาพที่นี่

วิธีแยกตัวเลขให้สวยงามเมื่อพิมพ์จากคีย์บอร์ด มีส่วนช่วยอะไรบ้าง?


person tounaobun    schedule 26.06.2015    source แหล่งที่มา


คำตอบ (2)


ฉันเสนอให้ใช้แอตทริบิวต์ NSKernAttributeName:

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:@"1234"];
[attributedString addAttribute:NSKernAttributeName value:@(30) range:NSMakeRange(0, 4)];
self.textField.attributedText = attributedString;  

ป้อนคำอธิบายรูปภาพที่นี่

person Vlad Papko    schedule 26.06.2015
comment
ข้อความได้รับการแก้ไขแล้ว ฉันจะบรรลุเป้าหมายนี้ได้อย่างไรเมื่อผู้ใช้พิมพ์ตัวเลข - person tounaobun; 26.06.2015
comment
@BensonTommy Text ได้รับการแก้ไขในตัวอย่างของฉันเท่านั้น คุณสามารถเปลี่ยนแปลงได้แบบไดนามิก เพียงเพิ่มแอตทริบิวต์ที่จำเป็นให้กับattributedTextในช่องข้อความ - person Vlad Papko; 26.06.2015

ฉันขอแนะนำให้คุณวางช่องข้อความสี่ช่องในมุมมองเดียว ให้เป็นมุมโค้งมน และเพิ่มลงในลำดับชั้นมุมมองของคุณ มุมมองของคุณจะมีพื้นหลังที่คุณต้องการ และช่องข้อความของคุณจะโปร่งใส (clearColor) จากนั้น ในผู้รับมอบสิทธิ์ของคุณ เมื่อป้อนข้อความในฟิลด์ข้อความหนึ่ง ให้ย้ายเคอร์เซอร์ของคุณไปยังฟิลด์ข้อความถัดไป

person Sergii Martynenko Jr    schedule 26.06.2015
comment
ดูเหมือนว่า UIElement จะเป็นการควบคุมแบบแบ่งส่วนพร้อมรูปวาดแบบกำหนดเองแทนที่จะเป็น TextView - person vadian; 26.06.2015
comment
ผู้เขียนบอกว่านี่คือ UITextField และสไตล์เส้นขอบสอดคล้องกับ UITextField - person Sergii Martynenko Jr; 26.06.2015
comment
ขออภัยที่ต้องแจ้งว่าผู้ใช้สามารถลบหมายเลขผิดได้ - person tounaobun; 26.06.2015