Standart C kullanabilirsiniz Objective-C uygulamanızda kütüphane rutinini rand()
. Oradan, rastgele rengin kırmızı, yeşil ve mavi kanallarının her biri için rastgele değerler almak için üç kez aramak isteyeceksiniz. Bu değeri (%
), kanalın tipik olarak 256'ya sahip olabileceği maksimum değere göre değiştirmek isteyeceksiniz. Buradan, NSColor
modelinizi uygun şekilde oluşturabilirsiniz.
int red = rand() % 255;
int green = rand() % 255;
int blue = rand() % 255;
NSColor* myColor = [NSColor colorWithCalibratedRed:red/255.0 green:green/255.0 blue:blue/255.0 alpha:1.0];
NSColor yerine tamsayılar yüzen sürdüğünden daha iyi bir yaklaşım baştan itibaren RAND_MAX tarafından rastgele değerler bölmek olacaktır:
float rand_max = RAND_MAX;
float red = rand()/rand_max;
float green = rand()/rand_max;
float blue = rand()/rand_max;
NSColor* myColor = [NSColor colorWithCalibratedRed:red green:green blue:blue alpha:1.0];
Bu sonuncu kod olacak gibi Yani kod görünebilir Renk sayısını 24 bit spektrumla sınırlamaz.
UIColor/NSColor veya '# abcdef' dizesi? – kennytm
Rastgele bir renge ihtiyacım yok, ama aslında bir renk hex'e ihtiyacım var (bunun için kullanıldığı amaç renkle ilgili değil). –