2012-10-09 11 views
5

मेरे पास आईपैड ऐप (आईओएस 5.1।) के शीर्ष पर एक यूआईटीूलबार में यूआईबारबटन इटिम है, इसकी इंटरफेस बिल्डर में इसकी चौड़ाई 65 हो गई है। यह स्टाइल 'बोर्डर्ड' और पहचानकर्ता 'कस्टम' है। दबाए जाने पर टेक्स्ट लेबल और टिंट बदलते हैं:आकार बदलने से कस्टम विशेषताओं के साथ UIBarButtonItem को कैसे रोकें

[btnA setTitle:@"State A"]; 
    [btnA setTintColor:[UIColor STATE_A_COL]; 

और इसी तरह, विभिन्न लेबल और रंगों को लेना। यह ठीक काम करता है, बटन का आकार बदल नहीं आया है, भले ही विभिन्न राज्यों के लिए शीर्षक काफी अलग हैं।

मैं तो स्टार्टअप पर, फ़ॉन्ट स्थापित करने के लिए इस कोड को कहा:

UIFont * futura = [UIFont fontWithName:@"Futura" size:13]; 
NSDictionary *attributes = [NSDictionary dictionaryWithObject:futura 
                 forKey:UITextAttributeFont]; 
[btnA setTitleTextAttributes:attributes forState:UIControlStateNormal]; 

अब, बटन का शीर्षक यह स्टार्टअप पर है की चौड़ाई फिट करने के लिए आकार है। शीर्षक बदलते समय यह आकार बदलता है। मैं आकार को कैसे लॉक कर सकता हूं? मैं यहाँ इंटरप्ले को समझ नहीं पा रहा हूं; मैंने सोचा कि मैंने जो कुछ किया है वह शीर्षक फ़ॉन्ट विशेषता को बदल देगा, बटन के बारे में कुछ और नहीं। कोई लाभ नहीं हुआ

[btnA setWidth:65.0]; 

फिर:

मैं भी स्पष्ट रूप से width संपत्ति की स्थापना की कोशिश की है।

उत्तर

6

मुझे UIBarButtonItempossibleTitles संपत्ति का उपयोग कर आकार बदलने के लिए इच्छित अधिकतम चौड़ाई के रूप में संकेत देने के लिए मिला है।

[btnA setPossibleTitles:[NSSet setWithObjects:@"State A', @"B", @"Final state", nil]]; 

यह काम करता है लेकिन मैं स्पष्ट रूप से चौड़ाई को आकार के आकार में सेट नहीं कर सकता, इसलिए मैं प्रश्न खोल रहा हूं।

+0

टिम, आप किस आकार को चाहते हैं? – Carl

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