
Subkelas UIControl asli yang sepenuhnya dapat disesuaikan yang memungkinkan Anda membuat tombol indah tanpa menulis baris kode apa pun.
Anda dapat membuat tombol seperti ini dengan hanya menggunakan Builder Antarmuka:

Selain itu, Anda dapat menggunakannya untuk operasi asinkron.

Untuk mengintegrasikan lgbutton ke dalam proyek XCODE Anda menggunakan Cocoapods, tentukan di Podfile Anda:
use_frameworks!
pod 'LGButton' Anda dapat menambahkan gambar/ikon ke tombol Anda, ikon diambil dari koleksi ikon font siap pakai yang berbeda, gambar dapat diimpor langsung dari folder aset proyek Anda.
Anda dapat menyesuaikan ikon/gambar di sebelah kiri dan/atau di sebelah kanan judul tombol.
Ikon dikelola oleh integrasi Swifticonfont, sehingga Anda dapat dengan mudah menambahkan dan menyesuaikan ikon tombol dengan memilih dari koleksi ikon font yang paling populer. Secara khusus:
| Koleksi | Nama font | Lembar Cheat |
|---|---|---|
| Font mengagumkan | fa | Daftar |
| Ikon ion | io | Daftar |
| Octicons | oc | Daftar |
| Buka ikon | ic | Daftar |
| Ikon materi | ma | Daftar |
| Temifikasi | ti | Daftar |
| Ikon peta | mi | Daftar |
Properti utama yang perlu Anda atur untuk menggunakan ikon font adalah:
Nama Font Ikon : Anda dapat memilih satu nilai dari tabel di atas, nilai yang berbeda akan diabaikan (harap pertimbangkan bahwa tidak semua ikon mungkin tersedia karena perpustakaan ini mungkin tidak diperbarui tepat setelah pembaruan pustaka font).
Ikon String : Nama ikon yang diambil dari cheatsheet tanpa awalan koleksi.
Jadi, jika Anda ingin menggunakan fa-align-left dari Font Awesome , nama font ikon akan menjadi fa dan ikon string akan menjadi align-left .
Atur properti sumber gambar untuk menggunakan gambar dari folder aset Anda.
Catatan: Jika sumber gambar diatur, setiap properti lain tentang ikon font di sisi yang sama akan diabaikan.
Seret dan letakkan objek UIView ke pengontrol tampilan Anda dan atur kelas dan modulnya ke LGButton .

Kustomisasi tombol Anda dengan mengatur properti dari pembangun antarmuka.


| Atribut | Keterangan | Nilai default |
|---|---|---|
| Warna BG | Warna latar belakang utama | jernih |
| Tunjukkan umpan balik sentuh | Apakah umpan balik sentuhan harus terlihat atau tidak | BENAR |
| Gradien mulai warna | Warna pertama dari latar belakang gradien | nol |
| Warna akhir gradien | Warna kedua dari latar belakang gradien | nol |
| Warna akhir gradien | Warna kedua dari latar belakang gradien | nol |
| Gradien horizontal | Apakah gradien harus horizontal atau tidak | PALSU |
| Rotasi gradien | Atur sudut rotasi gradien (derajat dari -360 hingga 360) | 0 |
| Radius sudut | Radius sudut | 0,0 |
| Sudut bulat sepenuhnya | Terapkan jari -jari sudut sama dengan tinggi/2 | PALSU |
| Warna perbatasan | Warna perbatasan | putih |
| Lebar perbatasan | Lebar perbatasan | 0,0 |
| Warna judul | Warna judul | putih |
| String judul | String judul | Kosong_string |
| Nama Font Judul | Nama font judul | nol |
| Ukuran font judul | Ukuran font judul | 14.0 |
| Orientasi vertikal | Jika true ikon kiri akan ditempatkan di bagian atas dan ikon kanan akan ditempatkan di bagian bawah | PALSU |
| String ikon kiri | Nama ikon kiri (diambil dari lembar cheat) | Kosong_string |
| Nama Font Ikon Kiri | Nama nama font ikon kiri (diambil dari tabel di atas) | Kosong_string |
| Ukuran font ikon kiri | Ukuran font ikon kiri | 14.0 |
| Warna ikon kiri | Warna ikon kiri | putih |
| Gambar kiri src | Nama aset sumber kiri | nol |
| Tinggi gambar kiri | Tinggi gambar kiri | 20.0 |
| Lebar gambar kiri | Lebar gambar kiri | 20.0 |
| Warna gambar kiri | Warna warna gambar kiri | nol |
| String ikon kanan | Nama ikon yang tepat (diambil dari lembar cheat) | Kosong_string |
| Nama Font Ikon Kanan | Nama nama font ikon kanan (diambil dari tabel di atas) | Kosong_string |
| Ukuran font ikon kanan | Ukuran font ikon yang tepat | 14.0 |
| Warna ikon kanan | Warna ikon yang tepat | putih |
| Gambar kanan src | Nama aset sumber kanan | nol |
| Tinggi gambar kanan | Tinggi gambar yang tepat | 20.0 |
| Lebar gambar kanan | Lebar gambar yang tepat | 20.0 |
| Warna gambar kanan | Warna warna gambar yang tepat | nol |
| Ikon Judul Judul | Jarak antara judul dan gambar/ikon | 16.0 |
| Jarak atas | Jarak teratas internal | 8.0 |
| Jarak dasar | Jarak dasar internal | 8.0 |
| Jarak memimpin | Jarak internal terkemuka | 16.0 |
| Jarak tertinggal | Spasi trailing internal | 16.0 |
| Offset bayangan | Offset bayangan | (0,0) |
| Radius bayangan | Radius bayangan | 0,0 |
| Opacity Bayangan | Opacity Bayangan | 1.0 |
| Warna bayangan | Warna bayangan | hitam |
| Memuat warna pemintal | Warna pemintal pemuatan | putih |
| Memuat string | Teks pesan pemuatan | Kosong_string |
| Memuat nama font | Nama Font Pesan Memuat | Kosong_string |
| Memuat ukuran font | Ukuran font pesan pemuatan | 14.0 |
| Kiri selaras | true jika item tombol harus disejajarkan dengan kiri. Itu membutuhkan tombol untuk memiliki lebar tetap | PALSU |
| Benar selaras | true jika item tombol harus disejajarkan dengan kanan. Itu membutuhkan tombol untuk memiliki lebar tetap | PALSU |
Anda dapat mengunduh proyek demo jika Anda ingin memeriksa lebih banyak.
Jangan ragu untuk mengirimkan masalah dan permintaan fitur.
Kontribusi lebih dari itu diterima. Kontribusi Anda mungkin termasuk fitur perbaikan bug atau/dan fitur baru.
Silakan ikuti alur kerja Git "fork-and-pull" (periksa di sini untuk lebih lanjut).
Catatan: Pastikan untuk menggabungkan yang terbaru dari "hulu" sebelum membuat permintaan tarik!
Lorenzo Greco
Proyek Swifticonfont digunakan untuk menyediakan ikon yang siap digunakan.
MIT License
Copyright (c) 2017 Lorenzo Greco
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.