Senja di akhir pekan 😎
Akhir pekan di awal bulan agustus ini rasanya tidak akan menjadi suatu yang istimewa jika dalam diri kita tidak terbesit pikiran untuk menjadikan akhir pekan ini menjadi suatu yang istimewa dan tidak itu - itu aja. bukannya suatu yang biasa tidak istimewa tapi mungkin akan lebih istimewa lagi jika kita menyisipkan hal baru disetiap langkah kita. sayangkan jika hidup ini bila tidak kita buat semenarik mungkin 😅😄.

Loh kok jadi ngenasehatin 😅?. bukan ngenasehatin sih, itu semua hasil dari pemikiran yang saya rasakan sekarang. tapi dengan hal diatas, saya menemukan solusi dari permasalahan yang saya hadapi mengenai UIButton , UITextfield. gimana sih biar UIButton atau UITextfield dapat dimodif cornerRadius, borderWidth, borderColor atau padding left serta padding right nya pada attribute inspector, biar mudah gitu tanpa harus coding di swift 4 nya atau menambahkan di User Defined Runtime Attributes nya. sebenarnya gambang banget caranya tinggal buat kelas extension UIButton, UITextfield atau extension apapun yang ingin di modif. nantinya dengan extension ini, dapat dipanggil aja di kelas UIButton, UITextFiled, maka pada attribute inspector tinggal inputin aja yang ingin di modif. jangan lupa untuk check clip to Boundsnya 😁.

Mari kita coba dengan modif UITextfield untuk paddingnya, tinggal buat file baru, jangan lupa untuk import UIKit nya ya :

@IBDesignable class ModifTextField: UITextField { 
    
    @IBInspectable var paddingLeft: CGFloat{
        get{
            return leftView!.frame.size.width
        }
        set{
            let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: newValue, height: frame.size.height))
            leftView = paddingView
            leftViewMode = .always
        }
    }
    
    @IBInspectable var paddingRight: CGFloat{
        get{
            return rightView!.frame.size.height
        }
        set{
            let paddingView = UIView(frame: CGRect(x: 0, y: 0, width: newValue, height: frame.size.height))
            rightView = paddingView
            rightViewMode = .always
        }
    }
}

Tinggal ubah aja class UITextfieldnya dengan ModifTextField maka pada attribut inspectornya ketambahan padding left dan padding Right. jika ingin diterapin pada UIButton tinggal ganti aja menjadi extension UIButton selesai. Mudah banget kan 😂!

Untuk cornerRadius, borderWidth dan borderColor juga mudah banget, berikut ini saya mencoba untuk menambahkan cornerRadius, borderWidth dan borderColor pada attribute inspector yang saya terapkan pada UIButton.

@IBDesignable class ModifButton: UIButton {
    @IBInspectable var cornerRadius: CGFloat = 0 {
        didSet {
            layer.cornerRadius = cornerRadius
        }
    }
    @IBInspectable var borderWidht: CGFloat = 0 {
        didSet {
            layer.borderWidht = borderWidht
        }
    }

     @IBInspectable var borderColor: UIColor? {
        get {
            if let color = layer.borderColor {
                return UIColor(cgColor: color)
            }
            return nil
        }
        set {
            if let color = newValue {
                layer.borderColor = color.cgColor
            } else {
                layer.borderColor = nil
            }
        }
    }
}

Mudah banget kan, tinggal panggil aja di class UIButtonnya maka secara otomatis di Attribut Ispector akan muncul borderColor, borderWidth dan cornerRadius tinggal diisi sesuai dengan value  yang diinginkan. Pada awalnya saya gak ngerti walau gampang banget, namanya juga hidup walaupun itu kelihatan mudah banget kalau gak tau mau gimana lagi 😅😂.

Post a Comment

Lebih baru Lebih lama