2010-06-08 10 views
15

मैं आईफोन विकास के लिए नया हूं। मैंने UISegmentedControl को 2 सेगमेंट बनाए हैं। मैं title.Here के बजाय प्रत्येक खंड के लिए चित्र प्रदर्शित करना चाहते मेरी कोडआईफोन में UISegmentedControl पर छवि कैसे सेट करें?

NSArray *itemArray = [NSArray arrayWithObjects: @"segment1", @"segment2", nil]; 
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray]; 
segmentedControl.frame = CGRectMake(5,100,300,40); 
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 
segmentedControl.selectedSegmentIndex = 1; 
[self.view addSubview:segmentedControl]; 
[segmentedControl release]; 

लेकिन बजाय शीर्षक, segment1 प्रदर्शित करने में और segment2 यह छवियों के साथ प्रतिस्थापित किया जाना चाहिए मैं मुझे out.Thanks मदद have.Please है।

उत्तर

26

यह लगभग वही है जो आपने किया था, बस एनएसएसटींग्स ​​के बजाय यूआईएममेज की एक सरणी पास करें।

NSArray *itemArray = [NSArray arrayWithObjects: 
    [UIImage imageNamed:@"segment1.png"], 
    [UIImage imageNamed:@"segment2.png"], 
    nil]; 
+9

क्या सेगमेंट नियंत्रण पर टेक्स्ट और छवि दोनों संभव है? – applefreak

+1

@ एप्पल डेवलपर, नहीं। – AndrewShmig

+0

हालांकि मैकोज़ मानव इंटरफ़ेस दिशानिर्देशों में वर्णित अनुसार एक सेगमेंट के लिए एक लेबल और छवि दोनों सेट करना संभव है, एक सेगमेंट में एक या दूसरा होना चाहिए। https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/SegmentedControl/Articles/SegmentedControlCode.html – Jeff

22

आप रनटाइम के दौरान छवि बदलना चाहते हैं, निम्न विधि का उपयोग:

- (void)setImage:(UIImage *)image forSegmentAtIndex:(NSUInteger)segment 

जैसे:

[segmentedControl setImage:[UIImage imageNamed:@"segment1.png"] forSegmentAtIndex:0]; 
+3

क्या सेगमेंट नियंत्रण पर टेक्स्ट और छवि दोनों संभव है? – applefreak

+1

नहीं। केवल एक "शीर्षक" या "छवि"। – alexmorhun

1

xcode 4.6.3 में इंटरफ़ेस बिल्डर में एक विकल्प नहीं है सेगमेंट नियंत्रण में एक छवि जोड़ने के लिए।

9

यह इंटरफ़ेस बिल्डर (गुण निरीक्षक टैब) के साथ यह करने के लिए आसान है।

Image setting with IB

इसके अलावा, आप छवि के साथ एक खंड और पाठ के साथ एक दूसरे को सेट कर सकते हैं।

Result

मुबारक xCoding!)

+1

किसी कारण से यह मेरे लिए काम नहीं कर रहा है। – jcpennypincher

+1

मेरा सेगमेंट नियंत्रण सेगमेंट में कोई भी छवि प्रदर्शित नहीं करेगा – jcpennypincher

3

इंटरफ़ेस बिल्डर उपयोगकर्ता के लिए, डिफ़ॉल्ट रूप से "मूल छवि" के रूप में "प्रस्तुत करें" के रूप में सेट करें। मेरे मामले में, यह दौड़ने के बाद दिखाएगा। यह काम कर सकता है। @jcpennypincher enter image description here

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