2012-05-02 17 views
6

मेरे पास एक सेगमेंट नियंत्रण है। जब भी दृश्य प्रकट हो गया है, तो मैं इसे पकड़ने के लिए एक बार बटन आइटम बना सकता हूं और उसे टूलबार आइटम के रूप में सेट कर सकता हूं। मेरी समस्या यह है कि खंडित नियंत्रण टूलबार में स्थान को भर नहीं पाएगा, भले ही यह अंतरिक्ष-भरने के व्यवहार के लिए सेट हो।आईओएस ऐप में टूलबार में स्पेस-भरने सेगमेंटेड कंट्रोल कैसे हो सकता है?

आईओएस ऐप में टूलबार में स्पेस-भरने सेगमेंट नियंत्रण कैसे हो सकता है?

उत्तर

1

ऐसा लगता है कि आप UIToolbar से गैर-मानक टूलबार व्यवहार प्राप्त करने का प्रयास कर रहे हैं। क्यों न केवल एक UIView ड्रॉप करें और इसे सामान्य तरीके से UISegmentedControl से भरें? क्या आपको UIToolbar की कुछ विशिष्ट कार्यक्षमता है जिसकी आपको आवश्यकता है?

0

सामान्य रूप से UIViews के लिए "स्पेस-फिलिंग व्यवहार" नहीं है। उन्हें आकार दिया गया आकार मिलता है। आपको बस इतना कर सकते हैं:

  1. उनके autoresizing मुखौटा सेट को नियंत्रित करने के कि वे किस तरह आकार दिया जाता है उनके जनक दृश्य इसके आकार
  2. उनके UIViewContentMode सेट को नियंत्रित करने के लिए कैसे वे अपनी सामग्री का आकार बदलने के (UIImageViews के लिए महत्वपूर्ण है, के लिए परिवर्तित करता है

    (void)viewDidLoad 
    { 
        [super viewDidLoad]; 
    
        // Create the toolbar; place it at the bottom of the view. 
        UIToolbar *myToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height-44, self.view.bounds.size.width, 44)]; 
        myToolbar.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin; 
        [self.view addSubview:myToolbar]; 
    
        // Create the UISegmentedControl with two segments and "Bar" style. Set frame size to that of the toolbar minus 6pt margin on both sides, since 6pt is the padding that is enforced anyway by the UIToolbar. 
        UISegmentedControl *mySegmentedControl = [[UISegmentedControl alloc] initWithFrame:CGRectInset(myToolbar.frame, 6, 6)]; 
        // Set autoresizing of the UISegmentedControl to stretch horizontally. 
        mySegmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin; 
        [mySegmentedControl insertSegmentWithTitle:@"First" atIndex:0 animated:NO]; 
        [mySegmentedControl insertSegmentWithTitle:@"Second" atIndex:1 animated:NO]; 
        mySegmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 
    
        // Create UIBarButtonItem with the UISegmentedControl as custom view, and add it to the toolbar's items 
        UIBarButtonItem *myBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:mySegmentedControl]; 
        myToolbar.items = [NSArray arrayWithObject:myBarButtonItem]; 
    } 
    
    : उदाहरण)

आपके मामले में, आप एक UISegmentedControl के रूप में व्यापक है कि उपकरण पट्टी के रूप में शामिल करते हुए एक UIToolbar पाने के लिए निम्न कर सकता है