sınır rengiHerhangi bir görünümdeki (veya UIView Alt Sınıfı) , biraz kodlama içeren storyboard kullanılarak da ayarlanabilir ve birden fazla UI Nesnesinde sınır rengini ayarlarsanız bu yaklaşım gerçekten kullanışlı olabilir.
Aşağıda bunu nasıl başaracağınız,
- CALayer sınıfında bir kategori oluşturun. UIColor türünde uygun bir ada sahip bir özellik bildirin , bunu borderUIColor olarak adlandıracağım .
- Bu mülk için ayarlayıcıyı ve alıcıyı yazın.
- 'Setter' yönteminde katmanın "borderColor" özelliğini yeni renkler CGColor değerine ayarlayın.
- 'Getter' yönteminde UIColor'u katmanın borderColor değeri ile döndürün.
PS: Unutmayın, Kategoriler depolanmış özelliklere sahip olamaz. 'borderUIColor', odaklandığımız şeye ulaşmak için bir referans olarak hesaplanmış bir özellik olarak kullanılır.
Lütfen aşağıdaki kod örneğine bir göz atın;
Hedef C:
Arayüz Dosyası:
#import <QuartzCore/QuartzCore.h>
#import <UIKit/UIKit.h>
@interface CALayer (BorderProperties)
// This assigns a CGColor to borderColor.
@property (nonatomic, assign) UIColor* borderUIColor;
@end
Uygulama Dosyası:
#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!)
}
}
}
Ve son olarak film şeridinize / XIB'ye gidin, kalan adımları izleyin;
- Kenarlık rengini ayarlamak istediğiniz Görünüm nesnesini tıklatın.
- "Yardımcı Program" (Ekranın sağ tarafı) panelinde "Kimlik Denetçisi" (Soldan 3.) seçeneğine tıklayın.
- "Kullanıcı Tanımlı Çalışma Zamanı Öznitelikleri" altında, bir anahtar yolu eklemek için "+" düğmesini tıklayın.
- Anahtar yolunun türünü "Renk" olarak ayarlayın.
- Anahtar yolunun değerini "layer.borderUIColor" olarak girin. [Bunun , borderColor değil, borderUIColor olduğu , kategoride bildirdiğiniz değişken adı olması gerektiğini unutmayın ].
- Sonunda istediğiniz rengi seçin.
Kenarlık rengini görmek için layer.borderWidth özellik değerini en az 1 olarak ayarlamanız gerekir .
Oluşturun ve çalıştırın. Mutlu Kodlama. :)