यूआई को अपडेट करें जब स्विफ्टयूआई में ओरिएंटेशन बदल रहा हो

Jan 06 2021

मैंने SwiftUI सीखना शुरू कर दिया है। मैं यूआई को अपडेट करने की कोशिश करता हूं जब अभिविन्यास बदल रहा है। मैंने @Environment(\.horizontalSizeClass) var sizeClassअपने विचार में जोड़ा , और फिर iPhone सिम्युलेटर घुमाए जाने पर स्वचालित रूप से यूआई को अपडेट करता है। लेकिन iPad सिम्युलेटर घुमाए जाने पर UI को अपडेट नहीं करता है। क्या आप मुझे बता सकते हैं कि iPad के लिए UI कैसे अपडेट करें?

जवाब

nicksarno Jan 06 2021 at 04:27

यदि आप मानव इंटरफ़ेस दिशानिर्देशों में डिवाइस आकार वर्गों पर एक नज़र डालते हैं, तो आप देखेंगे कि आईपैड में परिदृश्य और पोर्ट्रेट मोड दोनों में 'नियमित' चौड़ाई और ऊंचाई है।

इसलिए जब आप .horoscopeSizeClass का उपयोग करते हैं, तो यह iPhone और iPad दोनों पर काम कर रहा है, यह सिर्फ इतना है कि iPad आकार में परिवर्तित नहीं होता है जब घुमाया जाता है।

https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/

  • यदि आप जियोमेट्री राइडर के साथ फ्रेम साइज सेट करते हैं, तो डिवाइस के घूमने पर वे स्वतः अपडेट हो जाएंगे।
  • यह केवल .ft (maxWidth :) को विचारों पर सेट करने के लिए भी बहुत उपयोगी है, ताकि अगर iPad परिदृश्य है, तो दृश्य की सामग्री सीमित हो जाएगी। कहीं-कहीं 715 अच्छी तरह से काम करता है।