2012-03-11 10 views
9

मैं एक सरणी स्थापित कर रहा हूं जिसमें इंद्रधनुष के रंगों में एक संक्रमण हो। अभी मैंने सरणी में मैन्युअल रूप से रंगों को मैन्युअल रूप से दर्ज किया है लेकिन मैन्युअल रूप से टाइप करने के लिए बहुत सारे हैं ... अभी तक मैं केवल 0.25 से 0.5 तक 0.75 से 1 तक जाता हूं और इसलिए जब तक मैं लाल से हरे से नीले रंग तक नहीं जाता और वापस। (नीचे कोड देखें) मैं सरणी को स्वचालित रूप से केवल 0.25 -> 0.5 -> 0.75 से अधिक रंगों को उत्पन्न कर सकता हूं लेकिन शायद 0.05 -> 0.10 -> 0.15 -> 0.20 और इसी तरह, ... यहां मेरी सरणी है:आईओएस इंद्रधनुष रंग सरणी

rainbowColors = [[NSArray alloc] initWithObjects: 
        [UIColor colorWithRed:1 green:0 blue:0 alpha:1], 
        [UIColor colorWithRed:1 green:0.25 blue:0 alpha:1], 
        [UIColor colorWithRed:1 green:0.5 blue:0 alpha:1], 
        [UIColor colorWithRed:1 green:0.75 blue:0 alpha:1], 
        [UIColor colorWithRed:1 green:1 blue:0 alpha:1], 
        [UIColor colorWithRed:0.75 green:1 blue:0 alpha:1], 
        [UIColor colorWithRed:0.5 green:1 blue:0 alpha:1], 
        [UIColor colorWithRed:0.25 green:1 blue:0 alpha:1], 
        [UIColor colorWithRed:0 green:1 blue:0 alpha:1], 
        [UIColor colorWithRed:0 green:1 blue:0.25 alpha:1], 
        [UIColor colorWithRed:0 green:1 blue:0.5 alpha:1], 
        [UIColor colorWithRed:0 green:1 blue:0.75 alpha:1], 
        [UIColor colorWithRed:0 green:1 blue:1 alpha:1], 
        [UIColor colorWithRed:0 green:0.75 blue:1 alpha:1], 
        [UIColor colorWithRed:0 green:0.5 blue:1 alpha:1], 
        [UIColor colorWithRed:0 green:0.25 blue:1 alpha:1], 
        [UIColor colorWithRed:0 green:0 blue:1 alpha:1], 
        [UIColor colorWithRed:0.25 green:0 blue:1 alpha:1], 
        [UIColor colorWithRed:0.5 green:0 blue:1 alpha:1], 
        [UIColor colorWithRed:0.75 green:0 blue:1 alpha:1], 
        [UIColor colorWithRed:1 green:0 blue:1 alpha:1], 
        [UIColor colorWithRed:1 green:0 blue:0.75 alpha:1], 
        [UIColor colorWithRed:1 green:0 blue:0.5 alpha:1], 
        [UIColor colorWithRed:1 green:0 blue:0.25 alpha:1],nil]; 

उत्तर

39

सुदूर सरल है, तो जैसे -[UIColor colorWithHue:saturation:brightness:alpha:] उपयोग करते हैं,: आप बदल रहा है कैसे चमकीले रंग स्क्रीन पर है, जो आपको बहुत संरक्षण नहीं होने की संभावना हो बिना रंग (या रंग) भिन्न करने

NSMutableArray *colors = [NSMutableArray array]; 

float INCREMENT = 0.05; 
for (float hue = 0.0; hue < 1.0; hue += INCREMENT) { 
    UIColor *color = [UIColor colorWithHue:hue 
           saturation:1.0 
           brightness:1.0 
            alpha:1.0]; 
    [colors addObject:color]; 
} 

यह अनुमति देता है अभी। लिखने के लिए यह बहुत आसान है, और बाद में पाठक के लिए बहुत स्पष्ट है।

+0

सरल, साफ, और सही परिणाम पैदा करता है। बहुत बढ़िया जवाब। –

+0

अद्भुत! धन्यवाद!! –

+1

इतने सारे जादू पैक एक साथ ... यह मेरा दिन बना, धन्यवाद! –

1

3 लूप के लिए घोंसला और 3 चर आर, जी, बी, और प्रत्येक बार लूप होने पर 0.25 जोड़ें।

संबंधित मुद्दे