Catatan: ini sepertinya tidak berhasil untuk saya (mungkin karena saya menggunakan swift 3.1?). Versi Paras Joshi ( stackoverflow.com/a/29701061/225813 ) berhasil meskipun
Ashley Coolman
Saya mengedit jawaban saya. itu pasti berhasil untuk Anda .. Ashley Coolman
Shashi Verma
1
Anda tidak perlu menelepon init secara eksplisit dalam waktu 3.
ibrahimab
Apakah mungkin menggunakan lebih dari satu warna?
Gökhan Çokkeçeci
3
Apakah ada perbedaan antara kedua versi Anda?
Fogmeister
88
Di Swift 4 Anda dapat mengatur warna dan lebar perbatasan ke UIControls menggunakan kode di bawah ini.
@ShashiVerma sama-sama. Untuk detail mendalam tentang lapisan, baca dokumen referensi kelas objek berbeda dari apel, sehingga itu juga berguna bagi Anda :)
Paras Joshi
16
Gunakan @IBDesignable dan @IBInspectable untuk melakukan hal yang sama.
Mereka dapat digunakan kembali, dengan mudah dapat dimodifikasi dari Pembuat Antarmuka dan perubahannya langsung tercermin di Papan Cerita
Sesuaikan objek di storyboard dengan kelas tertentu
Saya lebih menyukai solusi ini karena ini adalah solusi yang dapat digunakan kembali di mana kami mengatur UIView ke customview tetapi masih menyisakan ruang lebih banyak perubahan.
n0rm
Ini adalah cara favorit saya untuk mencapainya tetapi dengan mode gelap, itu tidak bekerja dengan baik. Itu mendapat gaya warna MacOS saat ini dan menggunakan statis. Tapi dibangun @IBDesignabledan @IBInspectablesemuanya bekerja dengan baik, jadi harus ada cara bagi bea cukai untuk menggunakan Aset Warna dengan mode gelap / terang juga ~ ada yang tahu bagaimana mencapainya?
Pengembang Nomad
12
Anda dapat menulis ekstensi untuk menggunakannya dengan semua UIViews misalnya. UIButton, UILabel, UIImageView dll. Anda dapat menyesuaikan metode berikut sesuai kebutuhan Anda, tetapi saya pikir ini akan bekerja dengan baik untuk Anda.
Entah bagaimana, itu tidak melakukan apa-apa kecuali Anda secara eksplisit mengatur lebar perbatasan juga.
Nicolas Miari
@NicolasMiari yang diharapkan ... Anda tidak dapat melihat warna perbatasan yang belum Anda tetapkan ukurannya.
Jono Guthrie
Maaf, saya lupa menyebutkan bahwa saya mengacu pada bidang teks ... yang tampaknya memiliki lebar batas default bukan nol sejak awal. Namun demikian, saya kesulitan untuk mendapatkan warna yang saya atur pantulan, sampai saya secara eksplisit mengatur lebar bingkai.
Alih-alih menambahkan jawaban baru, Anda pasti sudah mengirim permintaan edit ke penjawab asli
Rajan Maheshwari
@Rajanaheshwari Tolong no. Jangan menambahkan kode ke jawaban orang lain. Pembaruan harus diposting sebagai milik mereka sendiri, bukan ke jawaban lain. Dengan cara itu setiap poster bertanggung jawab atas apa yang mereka posting ...
Eric Aya
@EricAya ini bukan tentang memperbarui jawabannya. Ini adalah permintaan edit, mungkin di komentar ke penjawab. Apakah Anda mendapatkan apa yang saya coba sampaikan.
Jawaban:
Jika Anda Menggunakan Swift 2.0+
sumber
Di Swift 4 Anda dapat mengatur warna dan lebar perbatasan ke UIControls menggunakan kode di bawah ini.
<Swift 4 , Anda dapat mengatur lebar bingkai dan warna bingkai UIView menggunakan kode di bawah ini.
sumber
Gunakan @IBDesignable dan @IBInspectable untuk melakukan hal yang sama.
Mereka dapat digunakan kembali, dengan mudah dapat dimodifikasi dari Pembuat Antarmuka dan perubahannya langsung tercermin di Papan Cerita
Sesuaikan objek di storyboard dengan kelas tertentu
Cuplikan Kode:
Mengizinkan modifikasi mudah dari Pembuat Antarmuka:
sumber
@IBDesignable
dan@IBInspectable
semuanya bekerja dengan baik, jadi harus ada cara bagi bea cukai untuk menggunakan Aset Warna dengan mode gelap / terang juga ~ ada yang tahu bagaimana mencapainya?Anda dapat menulis ekstensi untuk menggunakannya dengan semua UIViews misalnya. UIButton, UILabel, UIImageView dll. Anda dapat menyesuaikan metode berikut sesuai kebutuhan Anda, tetapi saya pikir ini akan bekerja dengan baik untuk Anda.
Pemakaian:
sumber
cepat 3
sumber
Swift 5.2 , UIView + Ekstensi
Anda menggunakan ekstensi ini;
sumber
Tulis kode di file
viewDidLoad()
Dan Anda dapat mengatur
Color
denganRGB
Pelajari sesuatu tentang
CALayer
diUIKit
sumber
swift 3.0
sumber
Kita bisa membuat metode untuk itu. Gunakan saja.
sumber
Swift 3.0.0
sumber