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

  • TheJoeycool2010

    TheJoeycool2

    12 Temmuz 2010
  • Titan Lee Hai

    Titan Lee Ha

    14 Temmuz 2008
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008