2016-08-31 8 views
7

मेरे पास एक UILabel है जिसे मैंने दृश्य में केंद्रित एक स्टोरीबोर्ड में रखा है। इसमें कुछ प्रारंभिक पाठ "लॉगिन करने के लिए टैप करें" है।टेक्स्ट को फिट करने के लिए UILabel आकार बदलने के लिए

मैं लॉग इन करने के बाद उपयोगकर्ता का नाम होने के लिए लेबल का मान बदल रहा हूं। एक बार ऐसा करने के बाद, लेबल अब केंद्रित नहीं है क्योंकि UILabel आकार बदल नहीं गया है।

इंटरफ़ेस बिल्डर में ऑटोलायआउट के साथ मैं इसे कैसे कर सकता हूं?

+0

आपको लेबल को स्थिति देने के लिए हमें जो बाधाएं जोड़ दी गई हैं, उन्हें दिखाने की आवश्यकता है। – ozgur

+0

आप अपने पाठ के अनुसार लेबल की चौड़ाई बदलना चाहते हैं? –

उत्तर

8

enter image description here

इस scrrenshot

1 पहले अपने लेबल चौड़ाई बाधा चयन को देखने के

2 संबंध इससे बड़ा या सेट बराबर

3 डिफ़ॉल्ट निरंतर मान सेट यहाँ मैं इसे 10 सेट

जब आप लेबल टेक्स्ट बदलते हैं तो यह लेबल के आकार को उसके टेक्स्ट के अनुसार बदल देता है। उम्मीद है कि यह मदद कर रहा है :)

+0

इसे देखने वाले किसी के लिए एक अतिरिक्त बिंदु। सुनिश्चित करें कि आपने दोनों प्रमुख और पिछली बाधाओं को सेट नहीं किया है क्योंकि उन 'बाधाओं से अधिक' ओवरराइड हैं – Josh

-1

Iam लेबल अनुमान लगा नहीं मिल रहा है ऊंचाई और चौड़ाई, जब आपके पाठ परिवर्तन इस विधि का उपयोग ऊंचाई और चौड़ाई निर्धारित करने के लिए उन बाध्यताओं देने पर विचार और उसके बाद:

func labelSizeWithString(text: String, maxWidth : CGFloat,numberOfLines : Int) -> CGRect{ 
    let label = UILabel(frame: CGRectMake(0, 0, maxWidth, CGFloat.max)) 
    label.numberOfLines = numberOfLines 
    label.text = text 

    label.sizeToFit() 

    return label.frame 
} 
+0

ओपी ऑटोलायआउट का उपयोग करके इसे करना चाहता है। इसका उपयोग करते समय आप फ्रेम को अपडेट नहीं कर सकते हैं। – ozgur

+0

आप अपडेट की गई ऊंचाई और चौड़ाई प्राप्त कर सकते हैं, तदनुसार ऊंचाई और वजन के लिए बाधाओं को बदलें ... कृपया मेरे उत्तर को ठीक से पढ़ें –

+0

यह टेक्स्ट की चौड़ाई और ऊंचाई प्राप्त करने के लिए केवल एक ओवरिल और यूआईएलएबल बनाने में अक्षम है। वहाँ है ['boundingRectWithSize (_: विकल्प: संदर्भ:)'] (https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSAttributedString_Class/#//apple_ref/occ/instm/NSAttributedString/boundingRectWithSize: विकल्प: संदर्भ :) ऐसा करने के लिए। चौड़ाई और ऊंचाई प्राप्त करने के अलावा लेबल को केंद्रित करने के संबंध में ओपी की समस्या का समाधान नहीं होगा। वैसे भी लेबल को अपने पर्यवेक्षण के केंद्र में लेबल करने के लिए बहुत सारी गणना करनी होगी। – ozgur

0

आप UILabelframe.width बड़ा सेट कर सकते हैं, शायद स्क्रीन के समान चौड़ाई।

तो फिर तुम सेट

label.textAlignment = NSTextAlignmentCenter

0

प्रारंभिक पाठ 1.showing 2.After लेबल करने के लिए बटन पाठ बदलने दबाने, कि बाधाओं पर स्क्रीन 3.Look तीसरे छवि के बीच में दिखा रहा है, दो की कमी को देखते हुए 1.top कंटेनर

में मध्यम 2.horizontally देखने पर

एक और बात करता है, तो यू बराबर की तुलना में अधिक के रूप में लेबल, परिवर्तन संबंध के लिए निश्चित चौड़ाई दिया। [चौड़ाई बाधा क्लिक करें, दाईं ओर शीर्ष वहाँ संबंध ]

-1

बदल बस इस Allignment Label तरह allignment सेट देखें। यह आपकी समस्या को ठीक करेगा।

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

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