2016-01-18 6 views
6

आईओएस 9 में, एक्सकोड आकार निरीक्षक "फॉलोोज़ पठनीय चौड़ाई" नामक एक विकल्प है जो एक दृश्य के बाएं/दाएं किनारे पर पैडिंग रखेगा ताकि वह जीता सामग्री को पढ़ने में आसान बनाने के लिए अब तक (विशेष रूप से आईपैड पर) फैलाएं।आईओएस 9 - एक्सकोड: "फॉलोोज़ पठनीय चौड़ाई" प्रोग्रामेटिक रूप से

(आप जब iPhone पर परिदृश्य में रखा 6/6s प्लस Twitter एप्लिकेशन पर इस का एक उदाहरण देख सकते हैं।)

वैसे भी, मैं प्रोग्राम यह करने के लिए खोजने के लिए प्रतीत नहीं कर सकते हैं। एक्सकोड SIZE इंस्पेक्टर में, यह आपके द्वारा सेट किया गया एक चेकबॉक्स है। यह स्पष्ट रूप से एक बूलियन मान है जिसे आप किसी भी UIView या किसी भी चीज़ से प्राप्त कर सकते हैं। मैं बस इसके करीब कुछ भी नहीं ढूंढ सकता।

कोई भी इस प्रोग्राम को कभी भी सेट करता है? कृपया संलग्न स्क्रीनशॉट देखें।

ओह, मैं 'संरक्षित पर्यवेक्षण मार्जिन' को ठीक से ढूंढें, बस 'फॉलोोज़ पठनीय चौड़ाई' संपत्ति नहीं।

enter image description here

+0

कृपया मेरा अद्यतन उत्तर देखें। कोड द्वारा सेट करना संभव है, लेकिन केवल UITableViews के लिए। –

+1

@ FrederikA.Winkelsdorf ठीक है, अद्यतन अद्यतन गलत है। 'ReadableContentGuide' किसी भी दृश्य के लिए पिन किया जा सकता है। – matt

+0

@matt: क्षमा करें, लेकिन मैंने यही लिखा है। "अगर आप इसे अपना लेआउट पिन करना चाहते हैं, तो कोड द्वारा NSLayoutConstraints का एक सेट बनाएं और उन्हें' 'readableContentGuide'' एंकर पॉइंट" से कनेक्ट करें। यहां सवाल कोड द्वारा इस विशेष * संपत्ति * को सेट करने के बारे में था। तथ्य: * संपत्ति * केवल एक तालिका दृश्य के लिए सेट किया जा सकता है। कृपया अपना समय लें और अपने नीचे वोट पर पुनर्विचार करें .. उस लाइनर में आप जो कहते हैं वह मेरे जवाब में पूरी तरह से शामिल है। अब मेरे सिर हिलाओ। –

उत्तर

7

"पठनीय चौड़ाई का पालन करें" विकल्प आपको इंटरफ़ेस बिल्डर में सेट कर सकते हैं दो अलग अलग तरीकों कोड द्वारा नियंत्रित किया जाता है:

1) UITableViews

वहाँ एक है पठनीय चौड़ाई को ट्रिगर करने के लिए UITableView के लिए संपत्ति:

if #available(iOS 9, *) { 
    tableView.cellLayoutMarginsFollowReadableWidth = false 
} 

तो यह पर्यवेक्षण मार्जिन के संरक्षण के संचालन के लिए तुलनीय है, जो preservesSuperviewLayoutMargins = true/false के साथ कोड द्वारा किया जाता है।

cellLayoutMarginsFollowReadableWidth के लिए एपीआई डॉक्स से

:

एक बूलियन मान इंगित करता है कि सेल मार्जिन पठनीय सामग्री गाइड की चौड़ाई से प्राप्त कर रहे हैं या नहीं।

यह संपत्ति इंटरफ़ेस बिल्डर में विकल्प के बराबर है।

2) UIViews

दुर्भाग्य से वहाँ ऊपर की तरह कोई भी संपत्ति सार्वजनिक रूप से UIKit एपीआई के साथ उपलब्ध है। लेकिन एपीआई डॉक्स से उद्धरण पहले ही एक संकेत देता है:

true/false के साथ टॉगल करने के लिए एक ही संपत्ति के बजाय, प्रत्येक UIView readableContentGuide संपत्ति प्रदान करता है। वह संपत्ति नई UILayoutGuide कक्षा (आईओएस 9 और बाद में) का हिस्सा है। आप इंटरफ़ेस बिल्डर में उस विकल्प को सक्षम करते हैं, की कमी का एक सेट स्वचालित रूप से उस में जोड़ा जाता है:

कि क्या है और यह कैसे उपयोग करने के लिए, क्या "फ़ॉलो पठनीय चौड़ाई" विकल्प है पर एक नज़र डालते हैं समझने के लिए राय।

readableContentGuide मूल रूप से आपको इन एंकर पॉइंट्स का एक सेट प्रदान करता है।

यदि आप कोड द्वारा पठनीय चौड़ाई में अपना लेआउट पिन करना चाहते हैं, तो NSLayoutConstraints का एक समूह बनाएं और उन्हें readableContentGuide के एंकर पॉइंट से कनेक्ट करें। इसे #available(iOS 9, *) ब्लॉक में भी लपेटा जाना है।

Updated 04/21/16 के बारे में जोड़ा गया जानकारी UITableView cellLayoutMarginsFollowReadableWidth

Updated 04/22/16 बातें स्पष्ट करना पुनः निर्मित। मुझे जागरूक करने के लिए @matt के लिए धन्यवाद!

+0

हम autolayout का उपयोग किये बिना readableContentGuide का उपयोग कैसे कर सकते हैं? क्या यह संपत्ति एक सादे CGFloat के रूप में उपलब्ध है? –

+0

@VaddadiKartick ने कोशिश नहीं की है। आप readableContentGuide की लेआउट Guides की सरणी तक पहुंचने का प्रयास कर सकते हैं। उनमें से प्रत्येक को इसके लेआउटफ्रेम चर के लिए एक सीजीआरईटी वापस करना चाहिए। Https://developer.apple.com/documentation/uikit/uiview/1622644-readablecontentguide देखें, https://developer.apple.com/documentation/uikit/uilayoutguide और https://developer.apple.com/documentation/uikit/uilayoutguide/1619657-layoutframe। hth! –

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