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,
- Buat kategori di kelas CALayer. Nyatakan properti bertipe UIColor dengan nama yang sesuai, saya beri nama borderUIColor .
- Tulis setter dan pengambil untuk properti ini.
- Dalam metode 'Setter' hanya mengatur properti "borderColor" dari layer ke nilai warna CGColor baru.
- Dalam metode 'Getter', kembalikan UIColor dengan borderColor layer.
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:
#import <QuartzCore/QuartzCore.h>
#import <UIKit/UIKit.h>
@interface CALayer (BorderProperties)
// This assigns a CGColor to borderColor.
@property (nonatomic, assign) UIColor* borderUIColor;
@end
File Implementasi:
#import "CALayer+BorderProperties.h"
@implementation CALayer (BorderProperties)
- (void)setBorderUIColor:(UIColor *)color {
self.borderColor = color.CGColor;
}
- (UIColor *)borderUIColor {
return [UIColor colorWithCGColor:self.borderColor];
}
@end
Swift 2.0:
extension CALayer {
var borderUIColor: UIColor {
set {
self.borderColor = newValue.CGColor
}
get {
return UIColor(CGColor: self.borderColor!)
}
}
}
Dan akhirnya pergi ke storyboard Anda / XIB, ikuti langkah-langkah yang tersisa;
- Klik pada objek Lihat yang ingin Anda atur Warna perbatasan.
- Klik pada "Identity Inspector" (3 dari Kiri) di panel "Utility" (Sisi kanan layar).
- Di bawah "Atribut Runtime yang Ditentukan Pengguna", klik tombol "+" untuk menambahkan jalur kunci.
- Setel jenis jalur kunci ke "Warna".
- Masukkan nilai untuk path kunci sebagai "layer.borderUIColor". [Ingat ini harus nama variabel yang Anda nyatakan dalam kategori, bukan borderColor di sini itu borderUIColor ].
- Akhirnya pilih warna apa pun yang Anda inginkan.
Anda harus menetapkan nilai properti layer.borderWidth ke minimal 1 untuk melihat warna batas.
Bangun dan Lari. Selamat Coding. :)