दिलचस्प पोस्ट
JQuery में एक div तत्व बनाना Angularjs में प्रॉक्सी से HTTP 302 प्रतिक्रिया संभाल एक पायथन फाइल ऑब्जेक्ट पर इटरेटर का उपयोग करते समय बंद () आवश्यक है CADisplayLink ओपनगैल रेंडरिंग ब्रेक UIScrollView व्यवहार एक पाठ फ़ाइल में PHP चर सहेजें संशोधित क्लोजर तक पहुंच (2) जिंजरब्रेड पर चलाए गए एप्लिकेशन के लिए MODIFY_PHONE_STATE की अनुमति कैसे दी जाए स्काला में `डेफ` बनाम` वैल` बनाम `आलसी वैल` का मूल्यांकन क्या ES6 टेम्पलेट लिटरल्स को क्रमशः (या पुन: उपयोग) में बदला जा सकता है? केवल सूत्रों का उपयोग करके Excel में अनन्य मान प्राप्त करना PHP सेटलोकाले का कोई प्रभाव नहीं है JSF बीन के रूप में JPA इकाई? लॉगिन चेक_पथ मार्ग कैसे डिफॉल्ट कंट्रोलर / एक्शन के बिना कार्य करता है? जावा के साथ डीओएम पार्सिंग में सामान्यकरण – यह कैसे काम करता है? WPF ऐप में विश्व स्तर पर संस्कृति (एन-एनए) की स्थापना

आईओएस ऑटोलायआउट- दृश्यों के बीच दो अलग-अलग दूरी सेट करने के तरीके, स्क्रीन ऊंचाई पर निर्भर करता है

मुझे पता है मुझे कुछ याद आ रही है, क्योंकि इसे हासिल करना आसान है।

मेरी समस्या यह है कि मेरे "लोडिंग स्क्रीन" में (जो छप के ठीक बाद प्रकट होता है) 3.5 "और 4" आकार वाली स्क्रीन के लिए दो अलग-अलग छवियों के साथ एक UIImageView है I उस चित्र के एक निश्चित स्थान में, मैं एक यूआईएक्टिवइंडिकेटर डालकर उपयोगकर्ता को बताता हूं कि ऐप पृष्ठभूमि में कुछ लोड कर रहा है वह जगह दोनों छवियों के लिए समान नहीं है, क्योंकि उनमें से एक स्पष्ट रूप से अधिक है, इसलिए मैं एक ऑटोलेयआउट बाधा को सेट करना चाहता हूं जो मुझे उस गतिविधि संकेतक को अलग-अलग ऊंचाइयों पर रखने की अनुमति देता है, इस पर निर्भर करता है कि क्या ऐप में चल रहा है आईफोन 5 या नहीं

Autolayout के बिना, मैं फ्रेम निर्धारित किया था। 300 के दृश्य के लिए। उदाहरण के लिए (उदाहरण के लिए), और उसके बाद ViewDontroller के viewDidLoad विधि में, मैं पूछ रहा था कि क्या ऐप एक iPhone 5 में चल रहा है, तो मैं ' डी, उदाहरण के लिए, 350 में मूल्य बदलना। मुझे नहीं पता कि यह कैसे करना Autolayout का उपयोग करना है और मुझे लगता है कि यह बहुत सरल होना चाहिए।

Solutions Collecting From Web of "आईओएस ऑटोलायआउट- दृश्यों के बीच दो अलग-अलग दूरी सेट करने के तरीके, स्क्रीन ऊंचाई पर निर्भर करता है"

आप अपने दृश्य नियंत्रक पर एक NSLayoutConstraint आउटलेट बना सकते हैं और अपने xib या स्टोरीबोर्ड में गतिविधि सूचक की Y बाधा को आउटलेट से कनेक्ट कर सकते हैं। उसके बाद, अपने दृश्य नियंत्रक के लिए एक updateViewContraints विधि जोड़ें और स्क्रीन आकार के अनुसार बाधा के निरंतर अद्यतन करें।

कनेक्ट करने की बाधा आउटलेट

यहां updateViewConstraints का एक उदाहरण है:

 - (void)updateViewConstraints { [super updateViewConstraints]; self.activityIndicatorYConstraint.constant = [UIScreen mainScreen].bounds.size.height > 480.0f ? 200 : 100; } 

बेशक आप 200 और 100 की बजाय अपने उचित मूल्यों को रखना चाहते हैं। आप कुछ नामित स्थिरांक को परिभाषित करना चाह सकते हैं इसके अलावा, [super updateViewConstraints] को कॉल करने के लिए मत भूलना

@ रॉब उत्तर की समस्या है कि आपको प्रत्येक बाधा के लिए बहुत सी कोड करना चाहिए। इसलिए इसे हल करने के लिए, बस अपने कोड में ConstraintLayout वर्ग को जोड़ें और उस डिवाइस के लिए बाध्य स्थिर मान को संशोधित करें जिसे आप आईबी में चाहते हैं:

यहां छवि विवरण दर्ज करें

 // // LayoutConstraint.swift // MyConstraintLayout // // Created by Hamza Ghazouani on 19/05/2016. // Copyright © 2016 Hamza Ghazouani. All rights reserved. // import UIKit @IBDesignable class LayoutConstraint: NSLayoutConstraint { @IBInspectable var 📱3¨5_insh: CGFloat = 0 { didSet { if UIScreen.main.bounds.maxY == 480 { constant = 📱3¨5_insh } } } @IBInspectable var 📱4¨0_insh: CGFloat = 0 { didSet { if UIScreen.main.bounds.maxY == 568 { constant = 📱4¨0_insh } } } @IBInspectable var 📱4¨7_insh: CGFloat = 0 { didSet { if UIScreen.main.bounds.maxY == 667 { constant = 📱4¨7_insh } } } @IBInspectable var 📱5¨5_insh: CGFloat = 0 { didSet { if UIScreen.main.bounds.maxY == 736 { constant = 📱5¨5_insh } } } } 

ConstraintLayout से अपनी कक्षा की बाध्यता हासिल करने के लिए भूल नहीं ConstraintLayout मैं जल्द ही उद्देश्य-सी संस्करण जोड़ूंगा

यूआई ऑब्जेक्ट की स्थिति का प्रबंधन करने के लिए ऑटो लेआउट में मूल टूल बाधाएं है। एक बाधा दो दृश्यों के बीच ज्यामितीय संबंध का वर्णन करता है उदाहरण के लिए, आपके पास एक बाधा होती है जो कहती है: "प्रगति बार के दायें किनारे उनके बीच खाली स्थान के 40 पंसड़ों के बाएं किनारे से जुड़ा हुआ है।"

इसका मतलब है कि ऑटोलायआउट का उपयोग आप यूआईडीवाइस के मोड के आधार पर सशर्त स्थिति की सेटिंग नहीं कर सकते हैं, बल्कि आप ऐसे दृश्य लेआउट बना सकते हैं, जो स्वयं को संशोधित करता है यदि उदा। ऐप 3.5 'पूर्ण स्क्रीन (आईफोन 4) या 4' पूर्ण स्क्रीन (आईफोन 5) को बाधाओं के आधार पर चलाता है।

तो बाधाओं का उपयोग करते हुए आपकी समस्या के लिए विकल्प:

1) आपके लेआउट पर एक दृश्य ढूंढें जो प्रगति पट्टी को अपेक्षाकृत अपेक्षा करने के लिए बाध्य करने के लिए उपयोग किया जा सकता है (2 ऑब्जेक्ट के बीच एक ऊर्ध्वाधर बाधा बनाने के लिए सीएमडी बटन का उपयोग करके दृश्य और प्रगति बार का चयन करें, फिर संपादक / पिन / वर्टिकल स्पेसिंग मेनू आइटम का उपयोग करें)

2) प्रगति पट्टी की स्थिति को स्क्रीन किनारे (अंतरिक्ष रखने) या केंद्र में छड़ी करने के लिए एक पूर्ण बाधा बनाएं

मुझे ऑटोलायआउट के बारे में उपयोगी ट्यूटोरियल मिला, जो आपके लिए भी फायदेमंद हो सकता है: http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2

Pls नोट: आटोलेआउट केवल आईओएस 6 से काम करता है।

मैं आम तौर पर हमेशा बाधाओं को स्थापित करने के लिए इंटरफ़ेस बिल्डर में रहने की कोशिश करता हूं कोड में डाइविंग अधिक नियंत्रण रखने के लिए आमतौर पर उपयोगी है अगर आपके पास उदाहरण के लिए आईफोन 4 और 6 पर पूरी तरह से अलग लेआउट हैं।

जैसा कि पहले उल्लेख किया गया है, आपके पास इंटरफ़ेस बिल्डर में सशर्त नहीं हो सकता, जो कि आपके दृश्य नियंत्रक के लिए एक बाधा को जोड़ने पर वास्तव में आसान होता है।

विभिन्न स्क्रीन आकारों के लिए ऑटो लेआउट समस्याओं को हल करने के लिए यहां 3 दृष्टिकोणों पर एक संक्षिप्त विवरण दिया गया है: http://candycode.io/how-to-set-up-different-auto-layout-constraints-for-different-screen-sizes/