SORU
30 NİSAN 2012, PAZARTESİ


Yapma böyle büyük mükafat renk RGB

Shop fotoğraf ve değerleri aynı Güncellemelerinden kullanarak bir renk RGB değerleri kullanıyorum.Ben kullanılan renk-R-160,G-97,B-5...photoshop görünür rengi sarımsı ama böyle büyük mükafat

myLabel.textColor= [UIColor colorWithRed:160 green:97 blue:5 alpha:1] ;

rengi beyazımsı görünür.

Bu fark neden oluyor?

CEVAP
30 NİSAN 2012, PAZARTESİ


Objective-C

Size değerleri vermek için 0 ile 1.0 arasında. Yani RGB 255 değerleri ayırmak.

myLabel.textColor= [UIColor colorWithRed:(160/255.0) green:(97/255.0) blue:(5/255.0) alpha:1] ;

Güncelleme:

Ayrıca bu makroyu kullanabilirsiniz

#define Rgb2UIColor(r, g, b)  [UIColor colorWithRed:((r) / 255.0) green:((g) / 255.0) blue:((b) / 255.0) alpha:1.0]

ve bu gibi sınıfınızın herhangi bir arama yapabilirsiniz

 myLabel.textColor = Rgb2UIColor(160, 97, 5);

Swift

Bu normal renk synax

myLabel.textColor = UIColor(red: (160/255.0), green: (97/255.0), blue: (5/255.0), alpha: 1.0) 
//The values should be between 0 to 1

Hızlı makrolar ile çok uygun değildir

Karmaşık makrolar C ve Objective-C kullanılıyor ama hiçbir karşılığı yok Swift. Karmaşık makrolar tanımlamak sabitler,makrolar programlama dilinde * sembolü de dahil olmak üzere, işlev benzeri makrolar. Karmaşık makroları kullanın C ve-C Objektif tipi-kontrol kısıtlamaları veya önlemek için demirbaş kodu büyük miktarda yeniden yazmak. Ancak, makroları yapabilirsiniz ve zor hata ayıklama yeniden düzenleme. Swift, işlevlerini kullanabilirsiniz ve taviz vermeden aynı sonuçları elde etmek için jenerik. Bu nedenle, C ve Objective-C karmaşık makroları kaynak dosyaları Swift kodu için kullanılabilir yapılır.

Bu uzantı kullanılır

extension UIColor {
    convenience init(_ r: Double,_ g: Double,_ b: Double,_ a: Double) {
        self.init(red: r/255, green: g/255, blue: b/255, alpha: a)
    }
}

Bu gibi kullanabilirsiniz

myLabel.textColor = UIColor(160.0, 97.0, 5.0, 1.0)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Incredible Tutorials

    Incredible T

    27 EKİM 2006
  • Kevin Bruckert

    Kevin Brucke

    30 Aralık 2006
  • placeboing

    placeboing

    7 Mart 2006