Saya sedang membangun aplikasi menggunakan cepat di versi terbaru Xcode 6, dan ingin tahu bagaimana saya bisa memodifikasi tombol saya sehingga dapat memiliki batas bulat yang dapat saya sesuaikan sendiri jika diperlukan. Setelah selesai, bagaimana saya bisa mengubah warna perbatasan itu sendiri tanpa menambahkan latar belakang? Dengan kata lain saya ingin tombol agak membulat tanpa latar belakang, hanya batas 1pt dengan warna tertentu.
232
titleEdgeInsets
.Untuk melakukan pekerjaan ini di storyboard (Interface Builder Inspector)
Dengan bantuan
IBDesignable
, kami dapat menambahkan lebih banyak opsi ke Interface Builder Inspector untukUIButton
dan men-tweak mereka di storyboard. Pertama, tambahkan kode berikut ke proyek Anda.Kemudian cukup atur atribut untuk tombol di storyboard.
sumber
Saya telah membuat sublcass UIButton sederhana yang menggunakan
tintColor
untuk teks dan warna perbatasan dan ketika disorot mengubah latar belakangnya ketintColor
.Ini memanfaatkan ekstensi UIImage yang membuat gambar dari warna, saya menemukan kode itu di sini: https://stackoverflow.com/a/33675160
Ini bekerja paling baik ketika diatur untuk mengetikkan Custom in interface builder karena jenis Sistem default sedikit mengubah warna ketika tombol disorot.
sumber
Kelas ini didasarkan dari semua komentar dan saran dalam jawaban, dan juga dapat dirancang langsung dari xcode. Salin ke proyek Anda dan masukkan UIButton apa saja dan ubah untuk menggunakan kelas khusus, sekarang cukup pilih warna batas atau latar belakang dari xcode untuk kondisi normal dan / atau yang disorot.
sumber
Foundation
ketika mengimporUIKit
benar-benar mencukupi?Berdasarkan jawaban @ returntrue saya berhasil mengimplementasikannya di Interface Builder.
Untuk mendapatkan tombol sudut menggunakan Interface Builder tambahkan Kunci
Path = "layer.cornerRadius"
denganType = "Number"
danValue = "10"
(atau nilai lain yang diperlukan) di "User Defined RunTime Attribute
"Identity Inspector
tombol.sumber
Anda dapat menggunakan subkelas UIButton ini untuk menyesuaikan UIButton sesuai kebutuhan Anda.
kunjungi repo github ini untuk referensi
sumber
Saya pikir cara termudah dan terbersih, adalah menggunakan protokol untuk menghindari pewarisan dan pengulangan kode. Anda dapat mengubah properti ini langsung dari storyboard
Memperbarui
Di tautan ini Anda dapat menemukan contoh dengan utilitas protokol yang dapat dilacak
sumber
sumber
sebagai samping tip pastikan tombol Anda bukan subkelas dari kelas khusus di papan cerita, dalam hal ini kode Anda tempat terbaik harus di kelas kustom itu sendiri menyebabkan kode hanya bekerja di luar kelas kustom jika tombol Anda subkelas dari default Kelas UIButton dan outletnya, semoga ini bisa membantu orang bertanya-tanya mengapa radio sudut tidak berlaku pada tombol saya dari kode.
sumber
...
Saya pikir untuk radius cukup dengan parameter ini:
sumber
COBALAH Tombol Border Ini Dengan Sudut Bulat
sumber
sumber
Anda dapat subkelas
UIButton
dan menambahkan@IBInspectable
variabel ke dalamnya sehingga Anda dapat mengonfigurasi parameter tombol khusus melalui StoryBoard "Attribute Inspector". Di bawah ini saya menuliskan kode itu.sumber
Saya pikir ini adalah bentuk sederhana
sumber