Saya benar-benar ingin mengatur warna saya sendiri ke batas UITextField. Namun sejauh ini saya bisa mengetahui cara mengubah gaya garis perbatasan saja.
Saya telah menggunakan properti latar belakang untuk mengatur warna latar belakang sedemikian rupa:
self.textField.backgroundColor = textFieldColor;
Tapi saya harus mengubah warna perbatasan UITextField juga. Dan pertanyaan saya adalah bagaimana mengubah warna perbatasan.
Jawaban:
QuartzCore
Kerangka kerja impor di kelas Anda:dan untuk mengubah warna perbatasan gunakan cuplikan kode berikut (saya mengaturnya ke redColor),
Untuk kembali ke tata letak asli hanya mengatur warna tepi menjadi warna yang jelas,
dalam kode cepat
sumber
viewDidLoad
) dan mengubah properti ini dengan mengatakanself.myTextField.layer.cornerRadius
dll. Perubahan ini akan berlaku segera setelah Anda meluncurkan aplikasi Anda, tetapi Anda tidak dapat melihat perubahan di Storyboard. Jika ini tidak masuk akal bagi Anda, saya sarankan Anda pergi ke situs web, misalnya Ray Wenderlich, dan membaca beberapa tulisan pemula.Coba ini:
dan impor QuartzCore:
sumber
Impor kelas berikut:
// Kode untuk mengatur warna abu-abu untuk batas bidang teks
Ganti
171.0
dengan nomor warna masing-masing sesuai kebutuhan.sumber
pertanyaan ini muncul cukup tinggi pada pencarian Google dan sebagian besar berhasil! Saya memang menemukan bahwa jawaban Salman Zaidi sebagian benar untuk iOS 7.
Anda perlu membuat modifikasi pada kode "reverting". Saya menemukan bahwa yang berikut untuk mengembalikan berfungsi dengan sempurna:
Saya mengerti bahwa ini kemungkinan besar disebabkan oleh perubahan pada iOS 7.
sumber
Untuk menyederhanakan tindakan ini dari jawaban yang diterima, Anda juga dapat membuat Kategori untuk
UIView
(karena ini berfungsi untuk semua subkelas UIView, tidak hanya untuk bidang teks:UIView + Tambahan.h:
UIView + Tambahan.m:
Pemakaian:
sumber
Jika Anda menggunakan TextField dengan sudut bulat gunakan kode ini:
Untuk menghapus perbatasan:
sumber
Perbarui untuk swift 5.0
sumber
borderColor pada tampilan apa pun (atau Subclass UIView) juga dapat diatur menggunakan storyboard dengan sedikit pengkodean dan pendekatan ini bisa sangat berguna jika Anda mengatur warna batas pada beberapa Objek UI.
Di bawah ini adalah langkah-langkah bagaimana mencapainya,
PS: Ingat, Kategori tidak bisa menyimpan properti. 'borderUIColor' digunakan sebagai properti yang dihitung, hanya sebagai referensi untuk mencapai apa yang kami fokuskan.
Silakan lihat contoh kode di bawah ini;
Sasaran C:
File Antarmuka:
File Implementasi:
Swift 2.0:
Dan akhirnya pergi ke storyboard Anda / XIB, ikuti langkah-langkah yang tersisa;
Anda harus menetapkan nilai properti layer.borderWidth ke minimal 1 untuk melihat warna batas.
Bangun dan Lari. Selamat Coding. :)
sumber
Inilah implementasi Swift. Anda dapat membuat ekstensi agar dapat digunakan oleh tampilan lain jika diinginkan.
Menyebutnya seperti:
email.addBorderAndColor(color: UIColor.white, width: 0.5, corner_radius: 5, clipsToBounds: true)
.sumber