UISegmented बटन पैटर्न का उपयोग कर टिंट रंग सेटिंग

तो मेरे पास निम्न कोड है:

  UISegmentedControl * segmentedCtrl = [[UISegmentedControl alloc] initWithFrame:CGRectMake(0, 0, 150, 35)];
    [segmentedCtrl setTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"duck.png"]]];


 [segmentedCtrl setSegmentedControlStyle:UISegmentedControlStyleBar];

और यहां बतख छवि है जिसका मैं उपयोग करने की कोशिश कर रहा हूं:

enter image description here

कोई मुझे यह बताने की परवाह करता है कि यह क्यों काम नहीं कर रहा है। मैंने किसी भी प्रकार की छवि के साथ कोशिश की और यह काम नहीं कर रहा है। एफवाईआई मैं अपने सेगमेंट नियंत्रण में बतख पृष्ठभूमि रखने की कोशिश नहीं कर रहा हूं। यह सिर्फ उस बिंदु को स्पष्ट करने के लिए है जो colorWithPatternImage का उपयोग कर सेटटिंट किसी भी प्रकार की छवि के लिए काम नहीं करता है।

0
जोड़ा
विचारों: 1
हाँ मैंने कोशिश की
जोड़ा लेखक adit, स्रोत
स्पष्ट रंग .. पारदर्शी
जोड़ा लेखक adit, स्रोत
self.view काम करता है .. लेकिन खंडित नहीं है नियंत्रक टिंटकॉलर
जोड़ा लेखक adit, स्रोत
क्या आपने इस रंग का उपयोग कुछ बड़े दृश्यों के पृष्ठभूमि रंग के रूप में करने का प्रयास किया है ताकि यह सुनिश्चित किया जा सके कि समस्या वास्तव में colorWithPatternImage: भाग में है?
जोड़ा लेखक Rok Jarc, स्रोत
परिणाम क्या थे?
जोड़ा लेखक Rok Jarc, स्रोत
ठीक है, मैंने आपकी छवि डाउनलोड की है। डाउनलोड .jpeg प्रकार (XXWNo.jpg) था। एक सिंगल व्यू ऐप बनाया गया और देखेंडिडलोड सेट व्यू कंट्रोलर पृष्ठभूमि रंग को इसके साथ देखें: [self.view setBackgroundColor: [UIColor colorWithPatternImage: [UIImage imageNamed: @ "XXWNo.jpg"]]]; परिणाम के रूप में था स्क्रीन पर एक बतख छवि की उम्मीद है। क्या आपकी छवि वास्तव में पीएनजी है (और फ़ायरफ़ॉक्स इसे डाउनलोड करते समय जेपीईजी में बदल देती है) या क्या आप वास्तव में इसे jpg छवि के रूप में लोड कर सकते हैं?
जोड़ा लेखक Rok Jarc, स्रोत

5 उत्तर

सबसे पहले फोटोचॉप में अपनी छवि खोलकर रंग का आरजीबी मान लें, फिर उन मानों का उपयोग करें।

सेगमेंट-कंट्रोल-पृष्ठभूमि-रंग

0
जोड़ा
यह पृष्ठभूमि रंग के लिए पैटर्न (छवि) का उपयोग करने में उसकी मदद कैसे करेगा?
जोड़ा लेखक Rok Jarc, स्रोत

क्या आपने 1px चौड़ाई वाली छवि की कोशिश की है? आप जिस छवि का उपयोग कर रहे हैं वह पैटर्न निर्माण के लिए बहुत बड़ा है

0
जोड़ा
हाँ मैंने किया .. काम भी नहीं किया
जोड़ा लेखक adit, स्रोत

UISegmentedControl (as all other UIKit controls, I think) doesn't support pattern colors as tint colors. The tint color is basically used to create a glossy gradient and that would have to be done very differently with an arbitrary pattern.

पृष्ठभूमि की उपस्थिति को कस्टमाइज़ करने के लिए, setBackgroundImage: forState: barMetrics: और setDividerImage: forLeftSegmentState: rightSegmentState: barMetrics: इसके बजाय (निश्चित रूप से उपयुक्त छवियों के साथ, पैटर्न नहीं हैं इनके लिए एक अच्छा फिट)।

0
जोड़ा

UISegmentedControl पर टिंटकॉलर केवल नियंत्रण में उपयोग किए गए ढाल की गणना करने के आधार के रूप में उपयोग किया जाता है। आप ढाल छवि नहीं कर सकते हैं, इसलिए यह सिर्फ इसका हिस्सा उपयोग कर रहा है। ऐसा लगता है कि आपको जो चाहिए वह UISegmentedControl का एक कस्टम उप-वर्ग है।

0
जोड़ा
    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:nil];
    [segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"up_button.png"] atIndex:0 animated:YES];
    [segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"down_button.png"] atIndex:1 animated:YES];
0
जोड़ा