2012-02-18 10 views
10

मैंने हाल ही में एक्सकोड 4.3 में अपडेट किया है और यह मेरे UILabels 'autoshrink प्रॉपर्टी को अक्षम कर दिया है। मैंने आईबी में बक्से को दोबारा जांच लिया और परियोजना का पुनर्निर्माण किया लेकिन यह अभी भी पाठ को काट रहा है। कोई सुझाव? क्या यह कोई ज्ञात त्रुटि है? क्या इस प्रोग्राम को ठीक करने का कोई तरीका है।Xcode 4.3 में Autoresize प्रॉपर्टी का काम कैसे करें?

+0

में तय किया गया है कि आप प्रोग्राम के 'UILabel' के' autoresizingMask' स्थापित करने की कोशिश की? – yuji

+0

क्या आपका मतलब ऑटोश्रिंक है? – sch

+0

autoresizingMask काम नहीं किया। –

उत्तर

19

मैं वही चीज़ देख रहा हूं। आप प्रोग्रामेटिक रूप से इसके आसपास काम कर सकते हैं (मैं इसे डीडलोड में देखता हूं):

myLabel.adjustsFontSizeToFitWidth = YES; 
+0

यह चाल है !! हालांकि मैंने '[myLabel setAdjustsFontSizeToFitWidth: YES] का उपयोग किया; 'क्योंकि मुझे लगता है कि ऐप्पल चाहता है कि हम इस तरह की संपत्तियों को" सेट "करें। –

+0

मुझे एक ही समस्या थी और इससे पहले एक रडार दायर किया गया था (http://openradar.appspot.com/10984259)। ऐसा लगता है कि यह समस्या XCode 4.3.1 में तय की गई है। –

+1

यह मेरे लिए बिल्कुल काम नहीं करता है ... –

0

मेरे पास बिल्कुल विपरीत समस्या है! मैंने एक्सकोड 4.3 में अपडेट किया है, और अब यह मेरे टेबलव्यू सेल में टेक्स्ट को छोटा करता है जब मैं उन्हें इलिप्स के साथ छीनना चाहता हूं। मैं स्टोरीबोर्ड से गुजर गया और उन सभी विकल्पों को संशोधित कर सकता हूं जिन्हें इसके साथ करना पड़ सकता है, लेकिन यह जो भी मैं चाहता हूं उसे करने से इनकार करता है। कितना निराशाजनक।

संपादित ...

प्रयास करें और फिर से बनाने Xcode मेरे लिए क्या कर रहा था के बाद से यह है कि तुम क्या हो रहा है के विपरीत है। स्टोरीबोर्ड में अपने टेबलव्यू के लिए प्रोटोटाइप सेल को हाइलाइट करें और "शीर्षक" और "उपशीर्षक" शब्दों पर क्लिक करें। आप विशेषता निरीक्षक के भीतर ऑटोश्रिंकिंग प्रॉपर्टी पा सकते हैं, और मुझे लगता है कि आप इस बॉक्स को अनचेक करके और अपने ऐप को पुनर्निर्माण करके अपनी समस्या को ठीक कर सकते हैं। बहुत अजीब बात यह है कि एक्सकोड अपग्रेड इस कारण कैसे होगा। यह मेरे ऐप को थोड़ा अजीब तरीके से व्यवहार करने का कारण बनता है (यानी सिम्युलेटर में चलते समय अप्रत्याशित रूप से दुर्घटनाग्रस्त हो रहा है), लेकिन कुछ साफ और पुनर्निर्माण ने इसे हल किया। उम्मीद है कि आप इसे ठीक करने में सक्षम हैं, क्योंकि मुझे पता है कि यह मेरे लिए निराशाजनक था!

+0

ओउप्स, मुझे लगता है कि मैंने अपनी समस्या हल की है। मुझे वास्तव में एक्सकोड में ऑटोश्रिंकिंग चालू करना पड़ा और न्यूनतम आकार को मेरे टेक्स्ट आकार के रूप में सेट करना पड़ा। वह friggin मूर्ख है। – Dave

+0

उह, एक्सकोड 4.3 की चक्कर आना मेरे लिए खुद को हल नहीं कर रहा है। हर बार जब मैं इसे बनाता हूं तो ऑटोरेसाइज फीचर को अचयनित करता है और यदि मैं इसे हार्ड-कोड करता हूं तो यह अनदेखा करता है ... खुशी है कि आपका काम कर रहा है! –

+0

एक ही चीज़ देख रहे हैं। Autorshrink कोई फर्क नहीं पड़ता कि मैं क्या करता हूं ... – midas06

0

यह मेरे लिए वही काम करता है। सभी autoshrink बंद कर रहे हैं। एक फ़ॉन्ट आकार वापस लेना और ऑटो सिकुड़ना चालू करना वास्तव में काम नहीं करता था।

मुझे इसे प्रोग्रामेटिक रूप से ठीक करना पड़ा क्योंकि जेएलंडेल ने सुझाव दिया था।

3

मुझे एक ही समस्या थी। यहां ठीक है, मैंने इसे एक उपयोगिता विधि में जोड़ा, क्योंकि मेरे पास मेरे प्रोजेक्ट में 100 से अधिक xibs हैं, और उनमें से एक समूह को फिक्सिंग की आवश्यकता है। बहुत अच्छा काम करता है।

[Utility fixLabels:self.view]; 
: UILabels कि ऑटो सिकुड़ने नहीं हैं कि किसी भी दृश्य के लिए viewDidLoad से

+(void)fixLabels:(UIView *)theView{ 

    for(UIView *v in [theView allSubViews]) 
    { 
     if([v isKindOfClass:[UILabel class]]) 
     { 
      if(!((UILabel*)v).adjustsFontSizeToFitWidth){ 
       ((UILabel*)v).adjustsFontSizeToFitWidth=YES; 
       // NSLog(@"fixed %@", theView); 
      } 
     } 
    } 
} 

और फिर फोन fixLabels:

Utility.m को यह करें:

// UIView+viewRecursion.h 
@interface UIView (viewRecursion) 
- (NSMutableArray*) allSubViews; 
@end 
// UIView+viewRecursion.m 
@implementation UIView (viewRecursion) 
- (NSMutableArray*)allSubViews 
{ 
    NSMutableArray *arr=[[NSMutableArray alloc] init]; 
    [arr addObject:self]; 
    for (UIView *subview in self.subviews) 
    { 
     [arr addObjectsFromArray:(NSArray*)[subview allSubViews]]; 
    } 
    return arr; 
} 
@end 

और यह

0

एक्सकोड 4.3 समायोजन के लिए इंटरफ़ेस बिल्डर सेटिंग्स का सम्मान नहीं करता है FontSizeToFitWidth प्रॉपर्टी।

आप JLundell के सुझाव के रूप में प्रोग्राम मूल्य को प्रोग्रामेटिक रूप से सेट करके इसे ठीक कर सकते हैं।

myLabel.adjustsFontSizeToFitWidth = YES; 

यह 4.3.1

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