मैंने पहले कभी भी ऑटोलैयट बाधाओं के साथ काम नहीं किया है । मेरे पास एक छोटा सा नया ऐप है जिस पर मैं काम कर रहा हूं और देखा है कि एनआईबी के विचार ऑटोलेयूट के लिए डिफ़ॉल्ट हैं। इसलिए, मुझे लगा कि मैं इसके साथ काम करने का अवसर लूंगा और यह पता लगाने की कोशिश करूंगा कि Apple इस के साथ कहां जा रहा है।
पहली चुनौती:
मुझे MKMapView का आकार बदलने की आवश्यकता है और मैं इसे नए स्थान पर चेतन करना चाहूंगा। अगर मैं इस तरह से कर रहा हूँ:
[UIView animateWithDuration:1.2f
animations:^{
CGRect theFrame = worldView.frame;
CGRect newFrame = CGRectMake(theFrame.origin.x, theFrame.origin.y, theFrame.size.width, theFrame.size.height - 170);
worldView.frame = newFrame;
}];
... तब MKMapView अपनी मूल ऊँचाई पर वापस 'स्नैप' करेगा जब भी एक साहसी दृश्य अपडेट हो जाता है (मेरे मामले में एक UISegmentedControl का शीर्षक अपडेट किया जा रहा है [myUISegmentedControl setTitle:newTitle forSegmentAtIndex:0]
)।
इसलिए, जो मुझे लगता है कि मैं करना चाहता हूं, एमकेपॉपर व्यू की बाधाओं को माता-पिता के दृष्टिकोण के बराबर होने से बदलकर UISegmentedControl के शीर्ष के सापेक्ष किया जा रहा है जो इसे कवर कर रहा था :V:[MKMapView]-(16)-[UISegmentedControl]
मैं जो चाहता हूं वह MKMapView ऊंचाई को छोटा करने के लिए है ताकि मानचित्र दृश्य के नीचे कुछ नियंत्रण सामने आए। ऐसा करने के लिए मुझे लगता है कि मुझे एक निश्चित पूर्ण आकार के दृश्य से बाधा को बदलने की जरूरत है, जहां नीचे एक UISegmentedControl के शीर्ष पर विवश है ... और मुझे यह पसंद आएगा क्योंकि दृश्य नए आकार में सिकुड़ जाता है।
इस बारे में कोई कैसे जाता है?
संपादित करें - यह एनीमेशन हालांकि एनिमेट नहीं कर रहा है, हालांकि नीचे का दृश्य 170 को तुरंत ऊपर ले जाता है:
[UIView animateWithDuration:1.2f
animations:^{
self.nibMapViewConstraint.constant = -170;
}];
और nibMapViewConstraint
आईबी में नीचे की ओर वर्टिकल स्पेस की कमी को दूर किया जाता है।