2013-06-14 11 views
6

मेरे पास एक लेबल के साथ स्क्रॉलव्यू है। ऊपरी मध्य भाग लेबल को केंद्रित करने के, मैं इसे करने के लिए दो की कमी लागू होते हैं: नहीं करने के लिए questionLabel के लिए translatesAutoresizingMaskIntoConstraints की स्थापना के बिनाअनुवाद सेट करने के बाद ब्लैक स्क्रीन AutoresizingMaskIntoConstraints को

[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-30-[questionLabel]" 
                  options:0 
                  metrics:0 
                   views:viewsDictionary]]; 
[self addConstraint:[NSLayoutConstraint constraintWithItem:self.questionLabel 
               attribute:NSLayoutAttributeCenterX 
               relatedBy:NSLayoutRelationEqual 
                toItem:self 
               attribute:NSLayoutAttributeCenterX 
               multiplier:1.0 
                constant:.0]]; 

, मैं एक अपवाद कोर लेआउट द्वारा फेंका में चलेंगे। यह मुझे चेतावनी दी है कि यह निम्नलिखित बाधा को संतुष्ट नहीं कर सकता:

(
"<NSLayoutConstraint:0x8e3baf0 V:|-(30)-[UILabel:0xa184ca0] (Names: '|':WLQuestionnaireSingleQuestionView:0xa184050)>", 
"<NSAutoresizingMaskLayoutConstraint:0x8e3efa0 h=--& v=--& UILabel:0xa184ca0.midY == + 15>" 

)

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

मैंने प्रोग्राम को प्रोग्रामेटिक रूप से लागू किया, कोई निब्स नहीं।

+1

मैं एक ही प्रकार के व्यवहार से लड़ रहा हूं। क्या आपको एक कामकाज मिला है? – topwik

+0

मुझे एक ही समस्या है। – clearwater82

+0

मुझे खेद है, यह बहुत समय पहले हुआ था और अब मुझे स्रोत तक पहुंच नहीं है। मेरा मानना ​​है कि मेरी समस्या के लिए एक बहुत ही विशिष्ट समाधान के रूप में एक कामकाज था (शायद इस मुद्दे को पहली जगह से परहेज करना), लेकिन मैं नहीं कह सकता कि मेरे पास इस विशिष्ट समस्या का समाधान है। – ff10

उत्तर

0

ठीक है, मुझे लगता है कि यह प्रश्न पहले से ही पुराना है। हालांकि मैं इसका उत्तर देना चाहता हूं क्योंकि यह अभी भी दूसरों के लिए दिलचस्प हो सकता है। चूंकि आप ऑटोलायआउट के साथ UIScrollView का उपयोग कर रहे हैं, सामग्री का आकार बाधाओं से निर्धारित होता है। चूंकि आपके पास अपने दृश्य से नीचे की बाधा नहीं है, ऊंचाई को सही ढंग से सेट नहीं किया जा सकता है। चौड़ाई के लिए वही बात है क्योंकि आपने अपने दृश्य के लिए कोई चौड़ाई निर्दिष्ट नहीं की है। आपने अभी ऑटोलाउट को बताया कि यह दृश्य के केंद्र में स्थित होना चाहिए। निम्नलिखित कोड का उपयोग करके आपकी समस्या हल हो सकती है (देखें चौड़ाई = 40):

[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-(30)-[questionLabel]|" 
                 options:0 
                 metrics:0 
                  views:viewsDictionary]]; 
[self addConstraint:[NSLayoutConstraint constraintWithItem:self.questionLabel 
               attribute:NSLayoutAttributeCenterX 
               relatedBy:NSLayoutRelationEqual 
                toItem:self 
               attribute:NSLayoutAttributeCenterX 
               multiplier:1.0 
                constant:.0]]; 
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"[questionLabel(40)]", options: 0, metrics: 0, views: viewsDictionary]]; 
संबंधित मुद्दे