Bagaimana mencapai gaya UITextField ini

Saya memiliki UITextField untuk membiarkan pengguna mengetik 4 angka yang dikembalikan dari pesan teks. Saya telah mengatur gaya UITextField dan gambar latar belakang dengan benar tetapi tidak tahu bagaimana mengatur keempat angka ini dengan baik. Yang saya inginkan adalah ini: masukkan deskripsi gambar di sini

Tapi hasilnya begini:

masukkan deskripsi gambar di sini

Ini pengaturan saya untuk UITextField. masukkan deskripsi gambar di sini

Bagaimana cara memisahkan angka dengan baik saat mengetik dari keyboard, Ada yang bisa membantu?


person tounaobun    schedule 26.06.2015    source sumber


Jawaban (2)


Saya mengusulkan untuk menggunakan atribut NSKernAttributeName:

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

masukkan deskripsi gambar di sini

person Vlad Papko    schedule 26.06.2015
comment
Teksnya sudah diperbaiki, bagaimana saya bisa mencapai ini ketika pengguna mengetik angka? - person tounaobun; 26.06.2015
comment
@BensonTommy Teks diperbaiki hanya dalam contoh saya. Anda dapat mengubahnya secara dinamis. Cukup tambahkan atribut yang diperlukan ke AttributeText di bidang teks - person Vlad Papko; 26.06.2015

Saya menyarankan Anda menempatkan empat bidang teks dalam satu tampilan, memberikan sudut membulat dan menambahkannya ke hierarki tampilan Anda. Tampilan Anda akan memiliki latar belakang yang Anda inginkan, dan bidang teks Anda akan transparan (clearColor). Kemudian, di delegasi Anda, ketika teks dimasukkan dalam satu bidang teks, pindahkan kursor Anda ke bidang teks berikutnya

person Sergii Martynenko Jr    schedule 26.06.2015
comment
Tampaknya UIElement adalah Kontrol Tersegmentasi dengan gambar khusus, bukan TextView - person vadian; 26.06.2015
comment
Nah, penulis memberi tahu bahwa ini adalah UITextField. Dan Gaya Perbatasan sesuai dengan UITextField - person Sergii Martynenko Jr; 26.06.2015
comment
Mohon maaf karena pengguna dapat menghapus nomor yang salah - person tounaobun; 26.06.2015